4

したがって、基本的には大きなファイル、できれば最大8GBをアップロードする必要があります。

私はこれらのファイルアップロード制限によって制限されています:

<system.web>
    <!-- set to max value, max request size is 2GB, takes precedence over IIS -->
    <httpRuntime maxRequestLength="2097151" executionTimeout="3600"/>
    ...

<system.webServer>
    <security>
        <requestFiltering>
            <!-- set to max value, IIS max length of content is 4GB -->
            <requestLimits maxAllowedContentLength="4294967295"/>
        </requestFiltering>
    </security>
    ...

少し調べてみたところ、2GBの制限を超える唯一の方法はファイルをセグメントにアップロードすることだと聞きましたが、これを実行できるツールは実際には見つかりませんでした。誰か知っていますか?

4

2 に答える 2

3

WinRar、7Zip、または WinZip は、分割された圧縮ファイルを作成できるはずです。これらのファイルがアップロードされた場合は、アーカイブ全体を解凍することで、それらを元に戻すことができます。7-Zip SDKを使用して、これらの大きなファイルを圧縮/分割してみることができます。圧縮を使用すると、アップロード時間と送信されるバイト数も減少します。

コメントが示唆するように、これには他の同様のツールがあるかもしれません。

編集:明確にするために、これらの圧縮ツールを使用しても、大量のファイルを一度にアップロードできるとは限りません。それらを使用して、大きなファイルを簡単に圧縮し、いくつかのより小さくて管理しやすい部分に分割し、ファイル アップロード コントロール (または同様のサード パーティ コントロール) の既存の制限を使用してアップロードすることができます。これらのツールを使用するには、ファイルを分割してからアップロードできるようにするためのユーティリティをユーザーに提供する必要があります。

これは、チェックアウトできるさまざまな商用アップローダ ツールへのリンクを含む記事ですが、私はそれらに精通していません。また、非常に大きなアップロードを行うためにデスクトップ ツールを使用するケースを説明している Jeff Atwood のブログ エントリへのリンクもあります。

于 2012-10-30T16:36:22.540 に答える
0

HTML5 FileApiを使用してチャンクアップロードを実装することにより、.NETFrameworkのこの制限を回避することができます。これにより、アップロードのセキュリティも実装されます。アップロードが失敗した場合、コードはX mbの1つのチャンクを再アップロードするだけで済みます(サイズは大きくなります)。

この手法は、サーバー側とクライアント側の両方で実装する必要があります。

これは、HTLM5 FileAPI、XHR v2、およびWebWorkersでJavascriptを使用したクライアント側での実装に関するブログです。

http://kongaraju.blogspot.in/2012/07/large-file-upload-more-than-1gb-using.html

これは、チャンクアップロード(2 GBの制限を回避)と再開可能なアップロードを理解するASP.NET用のFileUploadControlに関するコードプロジェクトです。HTML5 APIを使用するため、最新のブラウザが必要です。Firefox 4とChromeの現在のバージョン(つまり、今ではVer 22になっていますか?クレイジーです)は動作するはずです。今のところOperaについてはわかりませんが、バージョン12はドラッグアンドドロップとWebworkersを理解しています...そうです、動作するはずです。

機能が指定されていない場合、ファイルのアップロード制御はファイル全体の通常のPOSTに戻ります(2 GBの制限)。

于 2012-11-01T17:36:55.573 に答える