Отправить изображение через Guzzle Client

Как отправить POST-запрос с изображением через Guzzle (PHP)?

Через curl все должно быть примерно так:

$ curl -X POST "https://example.com.ua/api/add" -H "accept: application/json" -H "Content-Type: multipart/form-data" -F "files=@image.png;type=image/png" -F "test=test"

Я старался:

$multipart = [
[
'name'     => 'test',
'contents' => 'test'
], [
'name'     => 'files',
'contents' => fopen(public_path($this->user->imagePath()), 'r'),
'filename' => 'filename' . '.' . File::extension(public_path($this->user->imagePath())),
'headers' => ['Content-Type' => 'image/jpeg']
],
];

$guzzleClient->request(
'POST',
self::BASE_URL . '/add',
array_merge([RequestOptions::MULTIPART => $multipart], ['headers' => [
'Accept' => 'application/json',
'Content-Type' => 'multipart/form-data'
]])
);

Все по

 <a href="http://docs.guzzlephp.org/en/stable/request-options.html#multipart">docs</a>

Внешний API скажи мне после отладки — field "files" missed Content-Type: image/jpeg

Что я делаю неправильно?

Как выполнить этот запрос в Guzzle?

0

Решение

Задача ещё не решена.

Другие решения

Других решений пока нет …

По вопросам рекламы ammmcru@yandex.ru
Adblock
detector