【问题标题】:PHP Converting an Image to add Multipart Form DataPHP 转换图像以添加多部分表单数据
【发布时间】:2025-12-22 12:45:10
【问题描述】:

我在使用 API 时遇到了一些困难。它要求我创建一个多部分表单数据图像

POST https://api.working.com/v1/detail/detail.example.id1/27f145d2-5713-4a8d-af64-b269f95ade3b/images/thumbnail/normal

------------------------------330184f75e21
Content-Disposition: form-data; name="image"; filename="icon.png"
Content-Type: application/octet-stream

.PNG
imagedata
Response

我正在尝试找到一些示例 PHP 脚本,它将图像转换为这种格式

图像文件必须在多部分表单数据中具有名称图像

我正在绞尽脑汁并在互联网上寻找适合我的东西。

有谁有可以分享的sn-p吗?

谢谢

罗伯

【问题讨论】:

  • 您可以使用cURL 创建一个多部分请求,例如将图像上传到服务器。
  • @drew010 这就是我一直想做的事情。你能更具体一点吗?我点击了您提供的链接,但它只转到不同卷曲类型的列表

标签: php image forms api multipart


【解决方案1】:

这是一个基本的 curl 示例,展示了如何做到这一点:

$url = 'https://api.working.com/v1/detail/detail.example.id1/27f145d2-5713-4a8d-af64-b269f95ade3b/images/thumbnail/normal';

$data = array(
    'image' => new CURLFile(
        '/path/to/icon.png', 
        'application/octet-string',
        'icon.png'
     ),
    'some_other_field' => 'abc',
);

$ch = curl_init($url);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_POST, 1);
curl_setopt($ch, CURLOPT_POSTFIELDS, $data);
curl_setopt($ch, CURLOPT_HEADER, 0);

$response = curl_exec($ch);

// do something with response

// to debug, try var_dump(curl_getinfo($ch)); and var_dump(curl_error($ch));

$ch = curl_init($url);

查看CURLFile 类了解有关文件上传的更多信息,查看curl_setopt() 了解更多请求选项。

【讨论】:

  • 德鲁,伙计。你太棒了。非常感谢你。我花了几天时间试图弄清楚这一点。你个大佬!!!!!!!!!