Закачка файла по ссылке из Web на диск в 1С 7.7

База знаний
  1. 10 г. назад
    Функция СкачатьФайлПоСсылке(Ссылка,ИмяФайла)
    	
    	Попытка
    		JS=СоздатьОбъект("MSScriptControl.ScriptControl");
    		JS.Language="jscript";
    		JS.Timeout=-1;
    	Исключение
    		ТекстОшибки=ОписаниеОшибки();
    		Сообщить("Не удалось создать объект MSScriptControl.ScriptControl","!");
    		Сообщить("Описание ошибки: "+ТекстОшибки,"!");
    		Возврат 0;
    	КонецПопытки;
    	
    	Попытка
    		
    		СтрКода="function DwnFile(FileLink,FileName)
    		|{
    		|   Stream=new ActiveXObject(""ADODB.Stream"");
    		|   Stream.Mode=3;
    		|   Stream.Type=1;
    		|   Stream.Open();
    		|   Req=new ActiveXObject(""Microsoft.XMLHTTP"");
    		|   Req.Open(""GET"",FileLink,0,"""","""");
    		|   Req.Send();
    		|   Stream.Write(Req.responseBody);
    		|   Stream.SaveToFile(FileName,2);
    		|   Stream.Close();
    		
    		| return(0);
    		|}
    		|";
    	
    	JS.AddCode(СтрКода);
    	Рез=JS.Modules("Global").CodeObject.DwnFile(Ссылка,ИмяФайла);
    	Исключение
    		ТекстОшибки=ОписаниеОшибки();
    		Сообщить("Произошла ошибка при закачке файла!","!");
    		Сообщить("Описание ошибки: "+ТекстОшибки,"!");
    		Возврат 0;
    	КонецПопытки;
    	Возврат 1;
    КонецФункции
    
    

    Возвращает 1 в случае успеха, 0 в случае неудачи

  2. А HTTPСоединение уже не модно использовать? (или v7plus, если речь о 7-ке)?

    Ответы: (2)
  3. (1) v7plus - глючная вещица. а в 8-ке - да. топик для 7.7

    Ответы: (3)
  4. (2) Кстати, сделал бы поудобнее деление на 7-ку и 8-ку. А то сразу не сообразишь, что к чему относится (не, теоретически-то всегда понять можно, глянув "шапку"; но в длинной ветке - это ж лишний раз скроллить).

    Ответы: (4)
  5. (3) готов выслушивать идеи в Обновление движка форума

или зарегистрируйтесь чтобы ответить!