4
目的:如何使用PHP cURL發送正確的Content-Type圖像?
我想發送使用multipart/form-data多個圖像。以下是我的代碼片段。
問題:
在一個PC中,多部分連接通過正確的MIME頭的Content-Type發送:圖像/ JPEG,但另一臺PC上,MIME頭是內容類型:應用/八位字節。
問:
我怎麼能強迫捲曲來設置MIME內容的正確Content-Type頭?
$ch = curl_init();
$params = array('name' => '@D:\globe.jpg');
$base_url = "https://example.com"."?".varEncode($test_data);
curl_setopt($ch, CURLOPT_POST, true);
curl_setopt($ch, CURLOPT_VERBOSE, TRUE);
curl_setopt($ch, CURLOPT_URL,$base_url);
curl_setopt($ch, CURLOPT_POSTFIELDS, $params);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
$result = curl_exec($ch);
但是,這將改變HTTP頭中的內容類型,而不是MIME多部分標題。 PHP cURL似乎使用magic.mime來檢測文件類型並自動奇蹟般地添加Content-Type標頭。不幸的是,magic.mime無法檢測到很多文件類型和簡單的應用程序/八位字節流。 – kjloh 2010-11-11 03:25:33
我明白你的意思了。檢查我更新的答案。 – netcoder 2010-11-11 14:24:11
您也可以設置自定義文件名:'@D:\ globe.jpg; type = image/jpeg; filename = my_picture.jpg' – Shaffe 2015-03-02 10:40:59