Есть урл, который ссылается на файл (картинка, вордовский документ...). Как можно скачать этот файл, чтобы в дальнейшем записать его в базу в виде бинарного объекта?
Нравится
Я думаю если это Word документ или картинка то можно открыть его и сделать сохранить как в Word. Как вариант
Попробуйте с помощью такой функции:
[javascript]
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);
}
[/javascript]
Она сохраняет файл по ссылке во временный файл на диске, потом сохраняет этот файл в указанное поле датасета и удаляет временный файл.
Для корректной работы функции необходимо подключить к скрипту, в котором она будет вызываться, скрипт scr_FileUtils. Датасет, в который сохраняется содержимое файла, должен быть отфильтрован и открыт, а после выполнения функции необходимо выполнить Dataset.Post().