API загрузки изображений php curl не работает. Если я установлю content-length больше 0, запрос останется ожидающим - PullRequest
0 голосов
/ 21 мая 2019

Я пытаюсь загрузить изображение со своего сервера на другой сервер, используя их API. Я получаю код ошибки 422 с сообщением о том, что я оставил поле изображения пустым.

Я нашел этот вопрос, который дал мне некоторое представление о том, как, кажется, о том же API, но я все еще не могу заставить его работать.

PHP Преобразование изображения для добавления данных многочастной формы

$ch=curl_init("https://api.website.com/v1/object/id/images/type/resolution" );



$payload['image']=new CURLFile($file, 'application/octet-string','icon.png');

curl_setopt($ch, CURLOPT_POSTFIELDS, $payload);
curl_setopt( $ch, CURLOPT_HTTPHEADER, array('Content-Type:application/octet-string','Authorization:key', 'Content-Length:0'));

curl_setopt($ch, CURLINFO_HEADER_OUT, true);

curl_setopt($ch,CURLOPT_POST, true);

curl_setopt( $ch, CURLOPT_RETURNTRANSFER, true );

$result = curl_exec($ch);

Я считаю, что проблема связана с длиной содержимого. Если его не включить в качестве заголовка, я получу код ошибки 411, говорящий мне, что мне нужно указать размер запроса.

Если я включу его в размер загружаемого файла или любое число больше 0, я не получу ответа. Запрос остается в ожидании.

Если установить 0, я получу код ошибки 422. Я упоминал ранее.

Пожалуйста, помогите мне понять, что я делаю неправильно.

...