Я пытаюсь загрузить изображение со своего сервера на другой сервер, используя их 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. Я упоминал ранее.
Пожалуйста, помогите мне понять, что я делаю неправильно.