Книга знаний

1С:Предприятие / v8

v8: Альтернативный способ получения файла из интернета (HTTPСоединение)

Недостатком получения файла с помощью объект HTTPСоединение является: 1. Необходимость выделить из файла имя сервера и имя файла на нем. 2. На время считывания выполнение кода останавливаетя. В связи с этим существует обходной вариант чтения файла.Автор статьи: Гений 1С | Редакторы:
Последняя редакция №5 от 18.01.08 | История
URL: http://kb.mista.ru/article.php?id=630

Ключевые слова: HTTPСоединение, файл, скачивание


Вот код, иллюстрирующий идею:
Соединение = ПолучитьCOMОбъект("","Microsoft.XMLHTTP");
Соединение.open("GET", П.Адрес,0,,); //0 - синхронный (по другому 1с не умеет), 1 - асинхронный
Соединение.send();
Начало=ТекущаяДата();
Пока Соединение.readyState <> 4 И (ТаймАут=0 ИЛИ ТекущаяДата()-Начало<ТаймАут) Цикл
    обксОбработкаПрерыванияПользователя();
КонецЦикла;
обСохранитьДвоичныйБуферВФайл(Соединение.responseBody, ИмяВременногоФайла);

Функция обСохранитьДвоичныйБуферВФайл(Буфер, ИмяФайла) Экспорт
    Поток = Новый COMОбъект("ADODB.Stream");
    Поток.Type = 1;  //Бинарный
       Поток.Mode = 3; 
    Поток.Open();
    Поток.Write(Буфер);
    Поток.SaveToFile(ИмяФайла);
    Поток.Close();
КонецФункции


Полезные ссылки:

  • Описание ADODB.Stream: http://msdn2.microsoft.com/en-us/library/ms675032(VS.85).aspx
  • Описание XMLHttpRequest Object: http://msdn2.microsoft.com/en-us/library/ms535874(VS.85).aspx



  • Описание | Рубрикатор | Поиск | ТелепатБот | Захваченные статьи | Установки | Форум
    © Станислав Митичкин (Волшебник), 2005-2025 | Mista.ru

    Яндекс.Метрика