ファイルアップロードを実装していますが、バイトストリームを使用するとコード量が多く効率が悪いため、springMVCが独自のメソッドを提供しています。
SpringMVC は、ファイルのアップロードを実装するための CommonMultipartResolver コンポーネントを具体的に提供します:
maxUploadSize ファイルの最大制限、単位はバイトです
maxInMemorySize このサイズより小さいファイルは一時的にメモリに保存されます
defaultEncoding デフォルトのエンコーディング
たとえば、次のように設定されますこれ:
bean>
上記構成では、アップロードが保証されるように、id は multipartResolver である必要があります。任意に名前を付けることはできません
これが、Bean が正しく動作するためには同じ ID を持つ必要がある理由です。
この時点で、フォーム form の設定を開始する必要があります: enctype="multipart/form-data":
次に、2 つの jar パッケージを導入することを忘れないでください:
commons-fileupload.jar
commens -io-1.4.jar
次に、Java コードの記述を開始します:
1. まず、リクエストを MultipartHttpServletRequest multipartRequest = (MultipartHttpServletRequest) request に変更します。次に、getFile を使用してファイルを取得します。 :
CommonsMultipartFile file = (CommonsMultipartFile)multipartRequest.getFile("file");
このファイルは、フォームに入力された名前の値と一致している必要があります。
3. 最後に、ファイルをターゲットアドレスに移動します:
FileCopyUtil.cope(file.getByte(),uploadFile);
上記は、複数のファイルのアップロードの場合、getFileMap() を使用できます。 ) の MultipartHttpServletRequest。フォーム
によって渡されたすべてのファイルを取得し、for ループを使用してファイルを順番に走査してアップロードします:
ファイルのアップロードについて説明した後、ダウンロード方法について説明します。ダウンロードでは主にバイト ストリームの形式を使用します。次の 3 つの重要なポイントがあります。1. エンコード形式を text/html に設定します。
2. ヘッダーの Content-disposition 属性値を Attachment に設定します。 ; filename = ファイル名 (このファイル名はクライアントのポップアップ ボックス ファイルの名前です)
3. ヘッダーに Context-Length 属性を設定します。値はファイルのサイズです
例。