php curl 获取文件名,如何在PHP中使用cURL获取此multipart / form-data请求?

博主在尝试使用 PHPcURL 发布数据到 API 时遇到困难,错误提示为 MIME 多部分流意外结束。问题可能出在有效负载的构造上,包括 JSON 数据、文件内容和边界定义。代码显示了尝试发送的 JSON 数据和 TIFF 文件内容,但格式似乎不正确。寻求社区帮助解决 MIME 多部分构造的错误。

我很难用PHP cURL发布到API . 我觉得我已经尝试过各种组合 . 我的脚本正在连接,但问题出在有效负载内 .

根据文档,这是必需的请求 .

--85b890d4-4faf-4261-bcbb-187c4dddcbc6 Content-Type:application / vnd.emc.ax json; charset = utf-8 Content-Disposition:form-data;名称=数据

{

"Name": "batch name",

"Description": "batch description",

"Private": false

}

--85b890d4-4faf-4261-bcbb-187c4dddcbc6 Content-Type:application / bin Content-Disposition:form-data;名称=斌;文件名=“检验.pdf”; filename * = utf-8''test.pdf // bin文件内容--85b890d4-4faf-4261-bcbb-187c4dddcbc6 Content-Type:application / bin Content-Disposition:form-data;命名=注释;文件名= “0100002m.ano”; filename * = utf-8''0100002m.ano //注释文件内容--85b890d4-4faf-4261-bcbb-187c4dddcbc6 Content-Type:application / bin Content-Disposition:form-data;名称=文本;文件名= “test.txt的”; filename * = 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 multipart消息未完成 . ”,“InnerException”:null}

有人请帮助我吗?

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符  | 博主筛选后可见
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值