|
POST запрос multipart/related | ☑ | ||
---|---|---|---|---|
0
Waterfall1
24.03.17
✎
18:05
|
Добрый день, пытаюсь передать файл с его метаданными в запросе.
Возвращает Invalid multipart request with 0 mime parts. Пример кода : Boundary = СтрЗаменить(Строка(Новый УникальныйИдентификатор()),"-",""); // Формируем JSON ТекстДляОтправки = Новый ЗаписьJSON; ТекстДляОтправки.ПроверятьСтруктуру = Истина; ПараметрыТекстаДляОтправки = Новый ПараметрыЗаписиJSON(, Символы.Таб); ТекстДляОтправки.УстановитьСтроку(ПараметрыТекстаДляОтправки); ТекстДляОтправки.ЗаписатьНачалоОбъекта(); ТекстДляОтправки.ЗаписатьИмяСвойства("name"); ТекстДляОтправки.ЗаписатьЗначение(Имяфайла); //ТекстДляОтправки.ЗаписатьИмяСвойства("mimeType"); //ТекстДляОтправки.ЗаписатьЗначение("application/vnd.ms-excel"); ТекстДляОтправки.ЗаписатьКонецОбъекта(); ТекстОтправки = ТекстДляОтправки.Закрыть(); // Первая часть ИмяФайлаОтправки1 = ПолучитьИмяВременногоФайла("tmp"); ЗаписьТекста = Новый ЗаписьТекста(ИмяФайлаОтправки1,КодировкаТекста.UTF8); ЗаписьТекста.ЗаписатьСтроку("--"+boundary); ЗаписьТекста.ЗаписатьСтроку("Content-Type: application/json; charset=UTF-8"); ЗаписьТекста.ЗаписатьСтроку(""); ЗаписьТекста.ЗаписатьСтроку(ТекстОтправки); ЗаписьТекста.ЗаписатьСтроку(""); ЗаписьТекста.Закрыть(); МассивФайловДляОбъединения.Добавить(ИмяФайлаОтправки1); // Вторая часть ИмяФайлаОтправки2 = ПолучитьИмяВременногоФайла("tmp"); ЗаписьТекста = Новый ЗаписьТекста(ИмяФайлаОтправки2,КодировкаТекста.UTF8); ЗаписьТекста.ЗаписатьСтроку("--"+boundary); ЗаписьТекста.ЗаписатьСтроку("Content-Type: image/jpeg"); ЗаписьТекста.ЗаписатьСтроку(""); ЗаписьТекста.Закрыть(); МассивФайловДляОбъединения.Добавить(ИмяФайлаОтправки2); МассивФайловДляОбъединения.Добавить(ВыборФайла); //четвертая часть ИмяФайлаОтправки3 = ПолучитьИмяВременногоФайла("tmp"); ЗаписьТекста = Новый ЗаписьТекста(ИмяФайлаОтправки3,КодировкаТекста.UTF8); ЗаписьТекста.ЗаписатьСтроку(Символы.ПС); ЗаписьТекста.ЗаписатьСтроку("--" + Boundary + "--"); ЗаписьТекста.Закрыть(); МассивФайловДляОбъединения.Добавить(ИмяФайлаОтправки3); //Объединение файлов ФайлКОтправке = ПолучитьИмяВременногоФайла("tmp"); ОбъединитьФайлы(МассивФайловДляОбъединения,ФайлКОтправке); Файл = Новый Файл(ФайлКОтправке); Размер = XMLСтрока(Файл.Размер()); УдалитьФайлы(ИмяФайлаОтправки1); УдалитьФайлы(ИмяФайлаОтправки2); УдалитьФайлы(ИмяФайлаОтправки3); HTTPСоединение = Новый HTTPСоединение("http://www.googleapis.com",,,,,,Новый ЗащищенноеСоединениеOpenSSL()); Заголовки = Новый Соответствие(); Заголовки.Вставить("authorization","Bearer "+ObtainedToken); Заголовки.Вставить("Content-Type", "multipart/related; boundary="+Boundary); Заголовки.Вставить("Content-length",Размер); Запрос = Новый HTTPЗапрос("upload/drive/v2/files?uploadType=multipart",Заголовки); Запрос.УстановитьИмяФайлаТела(ФайлКОтправке); Результат = HTTPСоединение.ОтправитьДляОбработки(Запрос); СтрокаОтвета = Результат.ПолучитьТелоКакСтроку(); Может кто сталкивался с подобной задачей и может указать на ошибку. |
|||
1
Serginio1
24.03.17
✎
21:29
|
||||
2
Serginio1
24.03.17
✎
21:31
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |