Есть урл, который ссылается на файл (картинка, вордовский документ...). Как можно скачать этот файл, чтобы в дальнейшем записать его в базу в виде бинарного объекта?
Нравится
2 комментария
8 октября 2010 13:30
Я думаю если это Word документ или картинка то можно открыть его и сделать сохранить как в Word. Как вариант
8 октября 2010 14:22
Попробуйте с помощью такой функции:
function SaveURLAsFileToDatabase(URL, Dataset, DataFieldName) { var Extention = ExtractFileExtension(URL); if (IsEmptyValue(Extention)) { return; } var FileName = ExtractFileName(URL); var xml = new ActiveXObject("Microsoft.XMLHTTP"); xml.Open("GET", URL, false); xml.Send(); var oStream = new ActiveXObject("Adodb.Stream"); var adTypeBinary = 1; var adSaveCreateOverWrite = 2; var adSaveCreateNotExist = 1; oStream.Type = adTypeBinary; oStream.Open(); oStream.Write(xml.responseBody); var NewFileName = GetTemporaryFileName(FileName, true); oStream.SaveToFile(NewFileName, adSaveCreateNotExist); oStream.Close(); SaveFileToDataset(NewFileName, Dataset, 'FileData'); var FileObject = GetFileSystemObject(); FileObject.DeleteFile(NewFileName); }
Она сохраняет файл по ссылке во временный файл на диске, потом сохраняет этот файл в указанное поле датасета и удаляет временный файл.
Для корректной работы функции необходимо подключить к скрипту, в котором она будет вызываться, скрипт scr_FileUtils. Датасет, в который сохраняется содержимое файла, должен быть отфильтрован и открыт, а после выполнения функции необходимо выполнить Dataset.Post().
Показать все комментарии
Войдите или зарегистрируйтесь, что бы комментировать