Как мне получить этот multipart / form-data запрос, работающий с cURL в PHP?

Я испытываю трудности с размещением API с помощью PHP cURL. Я чувствую, что перепробовал каждую комбинацию. Мой скрипт соединяется, но проблема где-то внутри полезной нагрузки.

Вот требуемый запрос согласно документации.

—85b890d4-4faf-4261-bcbb-187c4dddcbc6 Тип содержимого: application / vnd.emc.ax + json; charset = utf-8 Content-Disposition:
форм-данных; имя = данные

{
"Name": "batch name",
"Description": "batch description",
"Private": false
}

—85b890d4-4faf-4261-bcbb-187c4dddcbc6 Тип содержимого: приложение / bin Расположение содержимого: форма-данные; имя = бен; имя файла = «test.pdf»;
имя файла * = UTF-8»test.pdf

// содержимое файла bin

—85b890d4-4faf-4261-bcbb-187c4dddcbc6 Тип содержимого: приложение / bin Расположение содержимого: форма-данные; имя = аннотацию;
имя файла = «0100002m.ano»; имя файла * = UTF-8»0100002m.ano

// содержание файла аннотации

—85b890d4-4faf-4261-bcbb-187c4dddcbc6 Тип содержимого: приложение / bin Расположение содержимого: форма-данные; имя = текст; имя файла = «test.txt»;
имя файла * = UTF-8»test.txt

// содержимое файла ocr

—85b890d4-4faf-4261-bcbb-187c4dddcbc6—

Вот мой код

$file = file_get_contents("tiff/test.TIF");

$curl = curl_init();
$data = array(
'Content-Type: application/vnd.emc.ax+json; charset=utf-8 Content Disposition: form-data; name=data',
'{"Name":"Here is my Name","Description":"Testing This","Private":false}',
chunk_split(base64_encode($file))
);

curl_setopt_array($curl, array(
CURLOPT_URL =>"*********************************",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_CUSTOMREQUEST => "POST",
CURLOPT_POST => true,
CURLOPT_POSTFIELDS => $d,
CURLOPT_HTTPHEADER => array(
"Authorization: **********************************",
"Content-Type: multipart/form-data; boundary=85b890d4-4faf-4261-bcbb-187c4dddcbc6",

),
));

curl_close($curl);

Мой код выдает эту ошибку:

{«ErrorCode»: 9999, «Message»: «Неожиданный конец многочастного потока MIME.
MIME составное сообщение не завершено. «,» InnerException «: null}

кто-нибудь, пожалуйста, помогите мне?

0

Решение

Я сделал реализацию с использованием чистой загрузки файлов CURL с multipart. Попробуй это:

curl -X POST \
http://youhosturl/path/to/you/endpoint \
-H 'content-type: multipart/form-data; boundary=----WebKitFormBoundary7MA4YWxkTrZu0gW' \
-F 'my_file=@/Users/MyUser/Desktop/any-image.jpg'

Это сработало для меня

0

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

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

По вопросам рекламы [email protected]