ユーザーが大きなテキスト ファイル (1 ~ 15 MB) の CSV ファイルをダウンロードする必要が
あり、Excel を使用して編集した後
、同じページの Web ブラウザーを使用してサイトに
そのまま再アップロード (編集された CSV)する状況があります。
ダウンロード
に gzip エンコーディングが適用され、ユーザーに送信されるコンテンツは gzip 圧縮されます (firebug で確認)
問題は
、ユーザーが編集したファイルを再アップロードすると、
圧縮されていないテキストとして送信されることです (そうですか?)。
制限されたユーザー帯域幅 (約 50 ~ 128 KBps アップロード)
と非常に大規模なユーザー ベース (100 人以上の同時ユーザー)では
、同時アップロード/ダウンロードが実行される
と、サイトが許容できないパフォーマンス (1 分以上の応答時間)に追い込まれます。
質問:
バック
グラウンドで gzip コンテンツ エンコーディングと圧縮を使用し
て、HTTP Post 経由でクライアント ブラウザにファイル アップロードを送信させるにはどうすればよい
ですか?
アップロードする前にファイルを圧縮するようにユーザーに指示することはできます
が、さまざまなアーカイブ ファイル形式が生成される可能性が
あり、ユーザーが「アーカイブ」を採用するための手順を追加するという状況を考慮すると、実行可能なオプションではありません。
編集
サーバー側の解凍処理は、すでにビジー状態のサーバーに負担を追加します。
言い換えた
一方、さまざまな形式のサーバー側の解凍ロジックは
、サーバー側のコードを複雑にします。 圧縮を使用することで転送時間と帯域幅の使用量が削減さ
れるため、圧縮解除の負荷自体は許容範囲内です。
情報
- サーバー: IIS
- ASP.NET MVC 3、
Visual Studio 2010 C# 4.0、
DevExpress 12 MVC 拡張機能、
UploadControl コンポーネントを使用して作成
同様の質問では、望ましい答えが得られません。
一部は未回答のままです: