2

私は本当に巨大なファイルを受け入れるWebサービスを持っています。通常、10〜15 GBの範囲です(MBではありません)。ただし、ブラウザを使用したアップロードは、Linux上のChromeを使用した場合にのみ可能です。3つの主要なブラウザすべてに、このようなファイルをアップロードしようとするさまざまな欠陥があります。

  • Internet Explorerは、正確に4GB後に停止します。
  • Firefoxはまったく起動しません。
  • Chrome(Windowsの場合)はファイル全体を転送しますが、終了ボンダリを送信できません(代わりに0xffを送信してください)。

現在、アップロードを機能させる方法を探しています。できればHTML/JSのみを使用しますが、それを実現する方法はありません。2回目の試行はフラッシュですが、FileReferenceは4GBを超えるファイルでは壊れているようです。最後の方法はJavaですが、それはブラウザクライアントで探しているものではありません。

これはクライアントに関するものであることに注意してください。Linux上のChromeで標準のHTMLアップロードを使用して12GBのファイルをアップロードできるため、サーバー側のコードが機能することはわかっています。これまでに機能するブラウザとOSの組み合わせはこれだけですが、サーバーcoodeは問題ないと確信しています。

巨大なファイルのアップロードを機能させる方法を知っている人はいますか?

よろしく、ステッフェン

4

3 に答える 3

1

ユーザーケースをカバーする可能性のあるかなり若いJS/HTML5APIがあります。

https://developer.mozilla.org/en-US/docs/Using_files_from_web_applications

しかし、その適合性については話すことができません。

于 2012-09-18T12:31:05.680 に答える
-1

IISを使用している場合、デフォルトの最大ファイルアップロードは4GBです。スクリプトまたはサーバー設定でこれを変更する必要があります。

参照:IIS7 /Win7Proでの最大アップロードファイルサイズの増加

于 2012-09-17T20:08:12.147 に答える
-1

通常、ストリームアップロードを使用して、このようなファイルを分割してチャンクにアップロードします。ファイルの限られた量のデータを取得し、その部分をサーバーにアップロードすると、サーバーはファイルにデータを追加します。完全なファイルがアップロードされるまで繰り返します。FileStream更新:Adobe AIRのみ)を使用して、または実験的なBlob/を使用してjavascriptを使用して、ファイルを部分的に読み取ることができますFileReader。これが問題の回避策になると思います。

この解決策が役立つと思います: AS3fileStreamがファイルをメモリに読み込んでいるように見えます

これがうまくいくかどうか教えてください、それは興味深い問題です。

于 2012-09-17T20:30:20.757 に答える