2009-10-09 68 views
0

我面臨從服務器下載任何圖像文件的問題。圖像文件下載問題

我可以成功上傳它們,並可以從上傳和存儲位置打開它們。

當我使用我的功能下載圖像文件完全下載,文件大小也是正確的,但是當我打開它們時出現錯誤無圖像預覽!!!

$fileString=$fileDir.'/'.$fileName; // combine the path and file 
    // translate file name properly for Internet Explorer. 
if (strstr($_SERVER['HTTP_USER_AGENT'], "MSIE")) 
{ 
     $instance_name = preg_replace('/\./', '%2e', $instance_name, substr_count($instance_name, '.') - 1); 
} 
// make sure the file exists before sending headers 

if([email protected]($fileString,'r')) 
    { 
     die("Cannot Open File!"); 
    } 
else 
    { 
     header("Cache-Control: ");// leave blank to avoid IE errors 
     header("Pragma: ");// leave blank to avoid IE errors 
     header("Content-type: application/octet-stream"); 
     header("Content-Disposition: attachment; filename=\"".$instance_name."\""); 
     header("Content-length:".(string)(filesize($fileString))); 
     sleep(1); 
     fpassthru($fdl); 
    } 

我使用IE作爲瀏覽器。

我正在使用此代碼片段來下載文件,而不是在瀏覽器上顯示。該腳本執行並提示我是否打開/保存該文件。當我保存文件的大小也是正確的,但圖像不顯示。當我右鍵單擊並查看文件摘要時,說明摘要不可用。

在此先感謝。請幫助。

+2

嘗試從「@fopen」刪除@看看錯誤,如果任何 – 2009-10-09 13:39:07

回答

0

此行:header("Content-type: application/octet-stream");對我來說似乎很腥。你可能想嘗試給實際的MIME類型,看看是否有幫助

1

目前尚不清楚,從你的代碼,您使用的PHP代碼段以服務網頁上的圖像,如:

<img src="my-php-script.php" alt="blah blah blah" /> 

如果是這樣,您的內容類型不正確。您需要使用圖像MIME類型,例如image/gif,image/jpeg,image/png或image/tiff,以最合適的爲準。

0

問題在於MIME類型。請看看這裏:

http://www.daniweb.com/forums/thread122055.html

這是,如果你想在瀏覽器中查看圖像。

如果你想下載它們作爲二進制文件,然後離開你的MIME類型。

也請更改文件的打開方式從「R」爲「RB」