簡體   English   中英

CodeIgniter:錯誤的上傳文件mime類型

[英]CodeIgniter: wrong uploading file mime type

有時,當使用<input>標記上傳文件時,遇到文件擴展名與application/config/mimes.php定義的mime類型不匹配的問題。 例如,當我上載.doc文件時,事實證明,它的mime類型實際上是application/octet-stream ,而不是預期的application/msword

過去我有時會遇到這個問題。 我確實通過將application/octet-stream添加到.doc mime數組來解決。 但是,有沒有適當的方法來解決它?

我認為瀏覽器以某種方式強制了我文件的mime類型。 是否有任何HTTP標頭或html元標記可防止這種情況?

正如您在這里看到的那樣這是一個常見問題,您所采用的解決方案是合法的。

這不是由於codeignitor的問題。 這是由於php問題。 例如, finfo_file函數將返回擴展名為jpeg的圖像作為image / png。

因此,解決方案是轉到config/mimes.php文件,然后添加相應的擴展名。

如果您不知道php背后的擴展名是什么,請添加此代碼以進行檢查。

$finfo = @finfo_open(FILEINFO_MIME);
$mime = @finfo_file($finfo, $_FILES["myname"]['tmp_name']);

$mime將是php最終返回的擴展名。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM