-
Разработчики апи делают приём нескольких файлов под одним параметром. Вот так - нам можно слать пачку файлов в параметре image.
-
Php не может отправить несколько файлов под одним параметром.
Пиздец. Каждый пункт - пиздец.
Разработчики апи делают приём нескольких файлов под одним параметром. Вот так - нам можно слать пачку файлов в параметре image.
Php не может отправить несколько файлов под одним параметром.
Пиздец. Каждый пункт - пиздец.
http://docs.guzzlephp.org/e...l#sending-form-files
Интересно, Guzzle сможет?
skobkin-ru, может.
RA, curl для guzzle — лишь один из бэкендов.
https://github.com/guzzle/g.../master/src/Handler/
Если у тебя в коде идут прямые обращения к курлу — ты не сможешь его нормально замокать для тестов.
skobkin-ru, например, дефолтная разбиралка запроса такое не переварит в принципе. Да, в php есть php://input
(который рекомендуют использовать для обработки запросов с Content-type: application/json), но он пустой для запроса с Content-type: form/multipart, и такой запрос полностью ты не получишь никак. :)
Ну и для отправки нужно ставить тот же гузл или заморачиваться с сокетами.: )
Это первое что я проверил. И так не работает.
Фишка в том, что когда добавляешь один файл
$post = array( 'image'=> curl_file_create($file, 'image/jpeg', 's.jpg') );
то норм. Но как добавить второй, с таким же именем?
Вариант
$post = array( 'image[0]'=> curl_file_create($file1, 'image/jpeg', 's.jpg'), 'image[1]'=> curl_file_create($file2, 'image/jpeg', 's.jpg') );
повторюсь нерабочий.
Пришлось делать костыль-изврат отправки контента "вручную" через boundary.
В то же время на pyton это выглядит примерно так
current_files.append( ('image', ('', open(name1, 'rb'), 'image/jpeg')) )
current_files.append( ('image', ('', open(name2, 'rb'), 'image/jpeg')) )
resp = requests.request("POST", url=args.index, files=current_files)
Да и RFC позволяет токое делать.
RA, ну так это проблема в PHP, остальным пофигу. :)
Используй guzzle. :)
https://gist.github.com/ily...b0092b0d99b07df9bea7