大きなファイルをWebにアップロードするのは常に大変なことでした。アップロードファイルのサイズ制限、ページの応答時間のタイムアウトこれらはすべて、Web開発が直接直面する必要があるものです。
この記事で説明する解決策は、フロントエンドがデータストリームの断片化と長い送信を実装し、受信後にファイルをマージすることです。
フォルダーのアップロードを実現するには、要件:サーバーは階層構造を保持し、10wレベルのフォルダーのアップロードをサポートします。
大きなファイルのアップロードとブレークポイントの再開、要件:50Gレベルの単一ファイルのアップロードと再開をサポートします。送信要件の再開:ブラウザーの更新後にアップロードを再開し、ブラウザーの再起動後にアップロードを続行し(ブラウザーを閉じてから再度開きます)、コンピューターの再起動後にアップロードを続行できます。
PCプラットフォーム、Windows、Mac、Linuxをサポート
ブラウザーは、ie6、ie7、ie8、ie9、Chrome、Firefoxを含むすべてのブラウザーのサポートを必要とします
以下は、簡単なデモソースコードの共有です。
フロントページ:
バックエンドコード、このデモはMVCアーキテクチャに基づいています:
すべてのモジュールをインターネット上の1つのクラスに配置する代わりに、バックエンドコードのモジュール化を行いました。これは、将来のメンテナンスとアップグレードのための災害です。
ファイルブロック処理ロジック
ファイルブロックの保存ロジックは次のとおりです
web.xmlの構成は次のとおりです
プロジェクト全体のスクリーンショット
依存JARパッケージは次のとおりです
実行効果は次のとおりです。
ここで共有してください!たくさん修正したいです〜
バックエンドコードロジックはほとんど同じで、現在MySQL、Oracle、SQLをサポートしています。使用する前に、データベースを構成する必要があります。私が書いたこの記事を参照できます。http://blog.ncmem.com/wordpress/2019/08/07/java巨大なファイルのアップロードとダウンロード
議論するためにグループに参加する歓迎:374992201