Функция ЗагрузкаJPGфайлаПродолжить(Знач
Соединение, Знач Cookie, Знач qquuid, Знач qqfilename, Знач qqfile)
Разделитель = СтрЗаменить(Новый
УникальныйИдентификатор(), "-",
"");
//Тело запроса запроса
Тело = Новый ПотокВПамяти();
ЗаписьДанных
= Новый ЗаписьДанных(Тело);//КодировкаТекста.UTF8
ЗаписьДанных.ЗаписатьСтроку("--"
+ Разделитель);
ЗаписьДанных.ЗаписатьСтроку("Content-Disposition: form-data;
name=qquuid");
ЗаписьДанных.ЗаписатьСтроку("");
ЗаписьДанных.ЗаписатьСтроку(Строка(qquuid));
//Параметр "qqfilename"
ЗаписьДанных.ЗаписатьСтроку("--"
+ Разделитель);
ЗаписьДанных.ЗаписатьСтроку("Content-Disposition:
form-data; name=qqfilename");
ЗаписьДанных.ЗаписатьСтроку("");
ЗаписьДанных.ЗаписатьСтроку(ПолучитьКороткоеИмяФайла(qqfilename));
ЗаписьДанных.ЗаписатьСтроку("--"
+ Разделитель);
ЗаписьДанных.ЗаписатьСтроку("Content-Disposition: form-data;
name=qqfile; filename="""
+ ПолучитьКороткоеИмяФайла(qqfilename)
+ """");
ЗаписьДанных.ЗаписатьСтроку("");
ЗаписьДанных.Записать(qqfile);
ЗаписьДанных.ЗаписатьСтроку("");
ЗаписьДанных.ЗаписатьСтроку("--"
+ Разделитель + "--");
ЗаписьДанных.Закрыть();
ТелоЗапроса
= Тело.ЗакрытьИПолучитьДвоичныеДанные();
Заголовки = Новый Соответствие;
Заголовки.Вставить("Cookie", Cookie);
Заголовки.Вставить("Content-Type", "multipart/form-data; boundary="
+ Разделитель);
Запрос = Новый HTTPЗапрос("/api/file",
Заголовки);
Запрос.УстановитьТелоИзДвоичныхДанных(ТелоЗапроса);
Ответ = Соединение.ВызватьHTTPМетод("POST",
Запрос);
//Запрос.ПолучитьТелоКакСтроку()
Если Ответ.КодСостояния
= 200 Тогда
ЧтениеJSON
= Новый ЧтениеJSON();
ЧтениеJSON.УстановитьСтроку(Ответ.ПолучитьТелоКакСтроку(КодировкаТекста.UTF8));
Результат = ПрочитатьJSON(ЧтениеJSON);
ЧтениеJSON.Закрыть();
Для Каждого Эл Из Результат
Цикл
Сообщить(Эл.Ключ + " " + ?(Эл.Значение<>Неопределено, Эл.Значение,
"Неопределено"));
КонецЦикла;
Возврат qquuid;
Иначе
Сообщить(Ответ.КодСостояния);
Возврат "";
КонецЕсли;
КонецФункции
&НаСервере
Процедура
ЗагрузкаJpgФайлаНаСервере()
Авт =
Авторизация("123", "456");
qquuid =
Новый УникальныйИдентификатор;
qqfilename =
"C:\TEMP\Test.jpg";
qqfile = Новый ДвоичныеДанные(qqfilename);
Загр = ЗагрузкаJPGфайлаПродолжить(Авт.Соединение, Авт.Cookie, qquuid, qqfilename, qqfile);
КонецПроцедуры
&НаКлиенте
Процедура
ЗагрузкаJpgФайла(Команда)
ЗагрузкаJpgФайлаНаСервере();
КонецПроцедуры
|