Задача:
Я хочу отправить несколько изображений с помощью multipart / form-data. Ниже приведен фрагмент моего кода.
Проблема:
На одном ПК множественное вложение отправляется правильным заголовком MIME Content-Type: image / jpeg, но на другом ПК заголовок MIME представляет собой Content-Type: application / octet.
Вопрос:
Как я могу заставить cURL установить правильный заголовок Content-Type для содержимого MIME?
$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);
Используйте параметр CURLOPT_HTTPHEADER:
curl_setopt($ch, CURLOPT_HTTPHEADER, array("Content-Type: image/jpeg"));
Поэтому укажите заголовки Content-Type специально для загрузки файлов, используйте:
$params = array('name'=>'@D:\globe.jpg;type=image/jpeg'); curl_setopt($ch, CURLOPT_POSTFIELDS, $params);