所以我的HTTP表单帖子失败了,因为它缺少一些关键项。例如,这是它发送的内容:
--------------------------9960f1a56d650126
Content-Disposition: form-data; name="test_id"
343
--------------------------9960f1a56d650126
Content-Disposition: form-data; name="photo
这就是我需要发布的内容
--10AE0BB3-605D-4F10-A3C1-D2A18DCB82B9
Content-Disposition: form-data; name="test_id"
343
--10AE0BB3-605D-4F10-A3C1-D2A18DCB82B9
Content-Disposition: form-data; name="photo"; filename="photo"
Content-Type: image/jpeg
Content-Transfer-Encoding: binary
它是与表单的特定区域一起传递的filename="photo"
,Content-type和content-transfer-encoding字段(我猜那些是表格参数?不确定)。
这是我的PHP代码:
if($post) {
curl_setopt($ch, CURLOPT_POST, true);
curl_setopt($ch, CURLOPT_POSTFIELDS, $data);
}
数据创建如下:
function BuildData($file_name) {
if(!$file_name) {
echo "The image doesn't exist ".$file_name;
} else {
$data = [
'test_id' => time(),
'photo' => file_get_contents($file_name),
];
return $data;
}
}
所以我想我需要以某种方式找出一种方法来添加所需的参数,例如filename =" photo"另外两个形成字段标题(不确定正确的术语是什么)。
我试图添加一些内容,例如:
photo=file_get_contents($file_name) . ';filename="photo";
并附加到那个,但那不起作用。它仍然包含在实际的原始图像数据中,而不是作为单独的标题或其他任何内容。
有什么建议吗?