繁体   English   中英

如何在PHP中使用cURL来获得此multipart / form-data请求?

[英]How do I get this multipart/form-data request working with cURL in PHP?

我在用PHP cURL发布到API时遇到了困难。 我觉得我尝试了所有组合。 我的脚本正在连接,但问题出在有效载荷内。

根据文档,这是必填项。

--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 Content-Type:应用程序/ bin Content-Disposition:表单数据; name = bin; filename =“ test.pdf”; 文件名* = utf-8''test.pdf

// bin文件内容

--85b890d4-4faf-4261-bcbb-187c4dddcbc6 Content-Type:应用程序/ bin Content-Disposition:表单数据; 名称=注释; filename =“ 0100002m.ano”; 文件名* = utf-8''0100002m.ano

//注释文件内容

--85b890d4-4faf-4261-bcbb-187c4dddcbc6 Content-Type:应用程序/ bin Content-Disposition:表单数据; 名称=文本; filename =“ 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}

有人可以帮我吗?

我使用多部分纯CURL上传文件来实现。 尝试这个:

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'

这对我有用

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM