2013-04-05 42 views
0

我使用CURL從服務器獲取圖像文件。在檢查瀏覽器的開發人員工具之後,它說返回的類型是'html'而不是'image'。從瀏覽器獲取'html'類型而不是'image'

這裏的響應:

/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> 

這裏的捲曲腳本:

$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; 

任何附加特定的代碼,我可以在我的捲曲腳本添加?

謝謝!

回答

1

您的PHP腳本正在執行cURL並返回沒有特定圖像頭的輸出。

因此,默認情況下,瀏覽器將以HTML內容檢索數據。

嘗試在返回輸出之前添加更具體的標題。

嘗試

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

指定給瀏覽器的內容腳本是實際發送的類型。

如果你希望用戶能夠下載的文件,你還可以添加標題:

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

如果要發送的二進制內容,您可以添加:

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

我加標題('Content-Type:image/jpg');它的工作!謝謝! – 2013-04-05 04:50:23