![]() |
![]() |
|
Post запрос с отправлением картинки | ☑ | ||
---|---|---|---|---|
0
Snikersik
23.10.19
✎
12:32
|
По вот этому примеру нужно сделать post запрос.
<?php // INPUT $user = ''; $secret = ''; $image_path = ''; // WORK $sign = $user . md5_file($image_path) . $secret; $sign = md5($sign); $data = [ 'login' => $user, 'image' => curl_file_create($image_path), 'sign' => $sign, ]; $ch = curl_init('https://media.sms-online.com/upload/'); curl_setopt($ch, CURLOPT_RETURNTRANSFER, true); curl_setopt($ch, CURLOPT_POST, true); curl_setopt($ch, CURLOPT_POSTFIELDS, $data); $result = json_decode(curl_exec($ch), true); curl_close($ch); if (!empty($result['image_id'])) { $imageId = $result['image_id']; } else { throw new \Exception($result['error'], [], $result['status']); } Все бы хорошо, но не видит картинку { "status": 1, "error": "Mandatory parameters missing: image" } Передавал двоичные данные, Base64 , что только не передавал, даже просто путь картинки. Вопрос в чем, может кто знает, что делает вот этот запрос - curl_file_create($image_path), он создает объект CURLFile, а вот что именно в этом объекте, как передать это в 1с? |
|||
1
ДенисЧ
23.10.19
✎
12:35
|
Мда... Птичий язык какой-то... Wtite-only...
|
|||
2
Garykom
гуру
23.10.19
✎
12:43
|
(0) Могу дат полезную ссылку, но сразу скажу не поможет.
https://tools.ietf.org/html/rfc2616 |
|||
3
Snikersik
23.10.19
✎
14:35
|
(2) Нужно отправить картинку, но двоичные данные не видити, Base64строка(Новый ДвоичныеДанные(моякартинка)) так же не видит, путь просто картинки аналогично. Тех. поддержка прислала пример, в PHP получается сделать так, а вот через 1с пока нет..
|
|||
4
sitex
naïve
23.10.19
✎
14:49
|
(0) ну может код покажешь сообществу что передаешь или будем толпой гадать что у тебя там ?
|
|||
5
arsik
гуру
23.10.19
✎
14:51
|
(0) Пусть тебе дадут пример с консольным curl-ом. Дальше сам все поймешь.
|
|||
6
Snikersik
23.10.19
✎
14:53
|
Сайт = "media.sms-online.com";
Parameters = New Structure; Parameters.Insert("login",Логин); Parameters.Insert("image",Картинка); Parameters.Insert("sign",ХешСигн); HTTPСоединение = Новый HTTPСоединение(Сайт,,,,,,Новый ЗащищенноеСоединениеOpenSSL); HTTPЗапрос = Новый HTTPЗапрос("/upload/"); Запись = Новый ЗаписьJSON; ПараметрыJSON = Новый ПараметрыЗаписиJSON(ПереносСтрокJSON.Нет, " "Истина); Запись.УстановитьСтроку(ПараметрыJSON); ЗаписатьJSON(Запись, Parameters); ЗаписьJSON = Запись.Закрыть(); HTTPЗапрос.Заголовки.Вставить("Content-Type", "multipart/form-data;boundary="); HTTPЗапрос.УстановитьТелоИзСтроки(ЗаписьJSON,КодировкаТекста.UTF8,ИспользованиеByteOrderMark.НеИспользовать); ОтветHTTP = HTTPСоединение.Post(HTTPЗапрос); |
|||
7
Snikersik
23.10.19
✎
14:57
|
(6) HTTPЗапрос.Заголовки.Вставить("Content-Type", "multipart/form-data"); *******
|
|||
8
sitex
naïve
23.10.19
✎
14:57
|
(6)кури заголовки....
|
|||
9
sitex
naïve
23.10.19
✎
15:00
|
(6) И вообщем посмотри как картинка выглядит в base64. Онлайн ресурсов перевода картинки в строку полно .
|
|||
10
Snikersik
23.10.19
✎
15:03
|
(9) Переводил в base64 , кидал в RESTED на проверку , все равно не видит image
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |