0

タグを使用してファイルをアップロードする<input>と、ファイル拡張子がで定義されているmimeタイプと一致しないという問題が発生することがありますapplication/config/mimes.php。たとえば、.docファイルをアップロードすると、そのmimeタイプは実際application/octet-streamには、期待どおりではないことがわかりapplication/mswordます。

私は過去に時々この問題を抱えていました。mime配列に追加application/octet-streamすることで回避しました。.docしかし、それを修正する適切な方法はありますか?

ブラウザがどういうわけか私のファイルのmimeタイプを強制していると思います。これを防ぐためのHTTPヘッダーまたはHTMLメタタグはありますか?

4

2 に答える 2

1

ここでわかるように、これは一般的な問題であり、適用した解決策は正当です。

于 2012-05-26T13:06:12.047 に答える
0

codeignitorの問題によるものではありません。phpの問題が原因です。たとえば、finfo_file関数は拡張子jpegの画像をimage/pngとして返します。

したがって、解決策はconfig/mimes.phpファイルに移動し、対応する拡張子を追加することです。

phpが選択している舞台裏の拡張子がわからない場合は、このコードを追加して確認してください。

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

$mimephpが最終的に返す拡張機能になります。

于 2017-06-27T10:19:47.233 に答える