[英]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.