|
POST-запрос CURL multipart/form-data. Как отправить конкретный файл с жесткого диска? | ☑ | ||
---|---|---|---|---|
0
Json_Born
17.08.23
✎
13:07
|
Здравствуйте, форумчане.
Есть CURL запрос: curl --request POST \ --url https://markirovka.sandbox.crptech.ru/api/v3/true-api/documents/aggregation/create \ --header 'Accept: application/json' \ --header 'Authorization: Bearer <Token> --header 'Content-Type: multipart/form-data; boundary=---011000010111000001101001' \ --header 'X-Signature: Закодированная откреплённая подпись в формате base64 '\ --form 'jsonFile=@C:\Users\7777\Desktop\FileName.json' Как перевести на язык 1С последнюю строку "--form 'jsonFile=@C:\Users\7777\Desktop\FileName.json'" ? |
|||
1
Волшебник
17.08.23
✎
13:16
|
HTTPЗапрос.УстановитьИмяФайлаТела(<ПутьКФайлу>)
Устанавливает имя файла, из которого будет прочитано тело запроса. |
|||
2
Garykom
17.08.23
✎
13:25
|
(0) смотри Процедура ВыгрузитьСчетНаОплату(ЗаказКлиента) в
https://gist.github.com/vyachin/7ed736a499434d77fbf93e1c7401e6bf |
|||
3
Garykom
17.08.23
✎
13:26
|
(1) Я что то пропустил?
Теперь УстановитьИмяФайлаТела само заполняет правильно Content-Type и boundary? |
|||
4
Garykom
17.08.23
✎
13:28
|
||||
5
Json_Born
17.08.23
✎
20:57
|
(1) Спасибо, немного не то
(2) Вот это то, что нужно! Здоровья вам! Сейчас пока что тестирую, как закончу, напишу полностью результат |
|||
6
Garykom
17.08.23
✎
21:08
|
(5) Для чего делаешь то?
Случайно не конвертацию/обработку файлов через https://gotenberg.dev/ ? Учти в ЗаписьТекста.ЗаписатьСтроку("Content-Disposition: form-data; name=""file""; filename=""" + ИмяФайлаДок + """"); ИмяФайлаДок - строго латиница для большинства серверов/сервисов И там еще куча заморочек может быть Ну там классически BOM/кодировка и РазмерФайлаОтправки |
|||
7
Garykom
17.08.23
✎
21:09
|
(6)+ а у тебя маркировка в (0) же
|
|||
8
Garykom
17.08.23
✎
21:10
|
для маркировки json который был подписан и который отправляется вроде должен быть отформатирован правильно/одинаково
и помню заморочки с кодировками там были да |
|||
9
stopa85
17.08.23
✎
21:46
|
(0) Content-type странный.
Я так отправляю, в файлы ничего не записываю ЗаголовкиВебЗапроса = новый Соответствие(); ЗаголовкиВебЗапроса.Вставить("content-type", "application/json"); ЗаголовкиВебЗапроса.Вставить("Authorization", "Bearer " + СтруктураДоступа.Токен); ВебЗапрос = новый HTTPЗапрос(СтруктураШлюза.ПутьНаСервере + "/v3/lk/documents/create?pg="+ТоварнаяГруппаСтрока(ТоварнаяГруппа), ЗаголовкиВебЗапроса); ВебЗапрос.УстановитьТелоИзСтроки(ТелоВебЗапроса, КодировкаТекста.UTF8, ИспользованиеByteOrderMark.Авто); ВебОтвет = Соединение.ОтправитьДляОбработки(ВебЗапрос); ТелоОтвета = ВебОтвет.ПолучитьТелоКакСтроку(); |
|||
10
stopa85
17.08.23
✎
21:48
|
Хотя сорри. Это же у тебя СУЗ и 3ий API
|
|||
11
MWWRuza
17.08.23
✎
22:12
|
Под семеркой делал правда, но, именно для маркировки и мультипарт, почитайте, может что-то полезное почерпнете: Работа с ЭДО через API...
А это от ЁПРСТ: 1С: POST-запрос с типом multipart/form-data |
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |