2011-01-25 17 views
0

javascriptファイルをサーバーに転送するためにhttpアップロードを使用しています。ただし、firefoxはMIMEタイプが 'x-c'に設定されたコンテンツを送信します。オペラ11は、 'application/x-javascript'の方が優れていますが、まだ間違っています。 私はサーバーサイドのMIMEタイプの検出を避ける方が好きですから、特定のファイル拡張子(つまり '.js')のMIMEタイプ検出をオーバーライドするか、ブラウザアルゴリズムにヒントを提供する機会はありますか?Firefoxのhttpアップロードで.jsファイルのMIMEタイプの自動検出に失敗する

理想的な解決策は、クロスブラウザ(少なくともff 3.6、ie8、クロム8をサポートする必要があります)です。しかし、最初のステップとして、firefoxに限定された解決策も歓迎されるだろう。

プラットフォームの詳細: jqueryの1.4.4(非圧縮および縮小さバージョン)、基本テストファイル すべてのファイルが持っているの.js拡張子

感謝:WinXPのSP3の

アップロードされたファイルの FF 3.6.13あなたの努力のために事前に。

+0

でファイルのプロパティを確認することができます。そこではどのような言語を使用していますか? –

+0

perlとplsql。 Webアプリケーションはapache/mod_perlによって提供されます。 – collapsar

+0

こんにちは誰も、私は、ファイル拡張子のペアのサーバー側のマッピングに頼って、希望のMIMEタイプにmimeタイプを検出しました。おそらく後でそのユーザエージェントを含むようにドメインを拡張します。 – collapsar

答えて

0

をカーステン

よろしくは、今、HTML5であなたは、JavaScriptのファイルAPIを使用して、あなたがMIMEタイプ、名前やファイルサイズを確認するようなことを行うことができ、このようにファイルのプロパティを読み取ることができます。残念ながらFirefoxとChromeでしか使用できません。

<input type="file" name="file" id="file" /> 

var file = document.getElementById('file').files[0]; 

、あなたはこれがサーバー側で解決する必要が

file.name // The file name 
file.size // The file size in bytes 
file.type // The MIME-Type Eje:'audio/mp3' 
+0

あなたのソリューションに感謝します。しかし、つまりクロムサポートは依然として必須であり、サファリはターゲットクライアントのサークルに加わりました。とにかく、ファイルapiは(私たちはサーバー側のスキームを選択していますが)行く方法と思われます。敬具、カルステン – collapsar

関連する問題