0
Victor1c
06.06.15
✎
14:46
|
Вобщем пробую отправить видеозапись POST запросом, в ответ получаю = invalid file
Код такой вот
РазделительСтрок = Символ(10)+Символ(13);
Видео = (Новый ДвоичныеДанные("C:\*****\111.avi"));
ИмяВходногоФайла = ПолучитьИмяВременногоФайла("in");
ИмяВходногоФайла1 = ПолучитьИмяВременногоФайла("in1");
ИмяВходногоФайла2 = ПолучитьИмяВременногоФайла("in2");
ИмяВходногоФайла3 = ПолучитьИмяВременногоФайла("in2");
ИмяВыходногоФайла = ПолучитьИмяВременногоФайла("out");
Boundary = СтрЗаменить(Строка(Новый УникальныйИдентификатор()), "-", "");
ВходнойФайл = Новый ЗаписьТекста(ИмяВходногоФайла1, КодировкаТекста.ANSI, Символы.ПС);
ВходнойФайл.ЗаписатьСтроку("--"+Boundary);
ВходнойФайл.ЗаписатьСтроку("Content-Disposition: form-data; name=""video_file""; filename=""111.avi""");
ВходнойФайл.ЗаписатьСтроку("Content-Type: application/octet-stream");
ВходнойФайл.ЗаписатьСтроку("");
ВходнойФайл.Закрыть();
Видео.Записать(ИмяВходногоФайла2);
ВходнойФайл = Новый ЗаписьТекста(ИмяВходногоФайла3, КодировкаТекста.ANSI, Символы.ПС);
ВходнойФайл.ЗаписатьСтроку("");
ВходнойФайл.ЗаписатьСтроку("--"+Boundary);
ВходнойФайл.Закрыть();
МассивФайлов = Новый Массив;
МассивФайлов.Добавить(ИмяВходногоФайла1);
МассивФайлов.Добавить(ИмяВходногоФайла2);
МассивФайлов.Добавить(ИмяВходногоФайла3);
ОбъединитьФайлы(МассивФайлов, ИмяВходногоФайла);
ФайлОтправки = Новый Файл(ИмяВходногоФайла);
РазмерФайлаОтправки = XMLСтрока(ФайлОтправки.Размер());
WinHttp = Новый COMОбъект("WinHttp.WinHttpRequest.5.1");
Текст = Новый ТекстовыйДокумент;
Текст.Прочитать(ИмяВходногоФайла, КодировкаТекста.ANSI);
ЗП = Текст.ПолучитьТекст();
ФайлЗапроса = Новый Файл(ИмяВходногоФайла);
РазмерФайлаОтправки = XMLСтрока(ФайлЗапроса.Размер());
WinHttp.Open("POST", АдресЗагрузки, 0);
WinHttp.SetRequestHeader("Content-Type","multipart/form-data;boundary=" + Boundary);
WinHttp.SetRequestHeader("Content-Length", РазмерФайлаОтправки);
WinHttp.Send(Зп);
Текст запроса такой получается
--7e446ef309f34d50a9027c394a3b5279
Content-Disposition: form-data; name="video_file"; filename="111.avi"
Content-Type: application/octet-stream
Content-Transfer-Encoding: binary
//Здесь данные файла
--7e446ef309f34d50a9027c394a3b5279
Уже кучу времени убил. Не пойму что не правильно. Может у кого есть опыт по этому вопросу?
|
|