2013-04-05 15 views
0

Я использую CURL для извлечения файла изображения с нашего сервера. После проверки инструментов разработчика браузера он говорит, что возвращаемый тип - это «html» вместо «image».Получение типа «html» вместо «изображения» из браузера

Вот ответ:

/f/gc.php?f=http://www.norbert.com/get/image/BTS-005-00.jpg 
GET 200 text/html 484.42 KB 1.68 s <img> 

Вот CURL сценарий:

$ch = curl_init(); 
$strUrl = $strFile; 
curl_setopt($ch, CURLOPT_URL, $strUrl); 
curl_setopt($ch, CURLOPT_USERAGENT, "MozillaXYZ/1.0"); 
curl_setopt($ch, CURLOPT_HEADER, 0); 
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true); 
curl_setopt($ch, CURLOPT_TIMEOUT, 60); 
$output = curl_exec($ch); 
curl_close($ch); 
return $output; 

Любой дополнительный специальный код, который я мог бы добавить в мой CURL сценарий?

Спасибо!

ответ

1

Ваш PHP-скрипт выполняет cURL и возвращает результат без определенного заголовка изображения.

Таким образом, по умолчанию браузер будет получать данные в виде содержимого HTML.

Попробуйте добавить более конкретный заголовок перед возвратом вывода.

Попробуйте

header('Content-Type: image/jpg'); 

указать броузеру тип содержимого вашего скрипта на самом деле отправки.

Если вы хотите, чтобы пользователь мог загрузить в файл, вы можете также добавить заголовок:

header('Content-Disposition: attachment; filename="' . $fileName . '";'); 

Если вы отправляете бинарное содержимое, можно добавить:

header("Content-Transfer-Encoding: binary"); 
+0

Я добавил header ('Content-Type: image/jpg'); и это сработало! Благодаря! –

Смежные вопросы