この例では、MultiPartFileを使用してSpringMVCの特定のコードを共有して、参照用のファイルアップロードを実装しています。特定のコンテンツは次のとおりです
1。構成ファイル
SpringMVCはMultiPartFileを使用してファイルをアップロードするため、最初にMultiPartresolver:Formの処理用に構成する必要があります。
<!-- Configure MultipartResolver CommosMultipartResolver for file upload using spring --> <beans:bean id="multipartResolver" p:defaultEncoding="UTF-8" p:maxUploadSize="5400000" p:uploadTempDir="fileUpload/temp" > </beans:bean>
属性については詳細に説明されています。
DefaultEncoding = "UTF-8"は、要求されたエンコード形式、デフォルトISO-8859-1です
maxuploadsize = "5400000"は、アップロードされたファイルのサイズ、バイトです
uploadtempdir = "fileupload/temp"は、ファイルをアップロードするための一時的なパスです
2。簡単なアップロードフォームを作成します
<Body> <H2>ファイルアップロードインスタンス</h2> <form action = "fileupload.html" method = "post" enctype = "multipart/form-data"> select file:<input type = "file" name = "file"> <入力タイプ= "submmen
enctype = "multipart/form-data"をフォームタグに追加して、フォームがファイルを処理する必要があることを示す必要があることに注意してください。これは最も基本的なことです。多くの人は、アップロードエラーの後にプログラムを探すエラーを忘れますが、この点を忘れてください。
3.コントロールクラスをアップロードします
1.コントロールクラスの作成:fileuploadcontrollerと結果list.jspを返すページ
2。フォームを送信するアクションを書きます
// Springの自動化された注釈@Autowired Private HTTPSERVLETREQUESTリクエストを介して、Springのデフォルト構成のリクエストを取得します。 / *** * @RequestParam Annotationでファイルをアップロードして、フォーム上のファイルがMultiPartFile * * @return */ @RequestMapping( "fileupload")public string fileupload(@RequestParam( "file")MultiPartfileファイル){// File eaght if(!!パス文字列filepath = request.getSession()。getServletContext()。getRealPath( "/") + "upload/" + file.getoriginalFileName(); //転送(new file(filepath)); } catch(Exception e){e.printstacktrace(); }} // redirect return "redirect:/list.html"; }/*** *アップロードされたファイルのすべてのファイルを読み取り、return * * @return */@requestMapping( "list")public modelandview list(){string filepath = request.getsession()。 modelandview mav = new ModelandView( "list");ファイルuploaddest = new file(filepath); string [] filenames = uploaddest.list(); for(int i = 0; i <filenames.length; i ++){//ファイル名system.out.println(filenames [i]); } mavを返します。 } 3。SpringMVCアノテーションrequestParamを使用して、フォームのファイルパラメーターを指定します。
4.ファイルを保存するWebプロジェクトパスを指定します
5。指定されたパスにマルチパートファイルのMultipArtFileの転送(ファイルDEST)メソッド。
この時点で、基本ファイルのアップロードは終了しました。
MultiPartFileクラスの一般的に使用される方法:
string getContentType()//ファイルMIMEタイプを取得します
inputStream getInputStream()//そして、ファイルストリーミングに移動します
文字列getName()//ファイルコンポーネントの名前をフォームで取得します
文字列getoriginalfilename()//アップロードされたファイルの元の名前を取得します
long getsize()//ファイルのバイトサイズ、ユニットバイトを取得します
boolean isempty()//空です
void転送(ファイルdest)//ターゲットファイルに保存します。
4。複数のファイルアップロード
複数のファイルのアップロードは実際には非常に簡単です。チェックボックスなど、他の同じパラメーターをアップロードするのと同じように、フォームで同じ名前を使用してから、アクションの配列としてMultiPartFileパラメータークラスを定義します。
次の実装:
1.複数のファイルをアップロードするフォームを作成します。
<body> <h2>複数のファイルインスタンスをアップロード</h2> <form action = "filesupload.html" method = "post" enctype = "multipart/form-data"> <p> select file:<input type = "file" file "name" name "file"> "> <p> select file:<input" fily "> <pule"> <pule "> <pule"ファイル "ファイル"ファイルtype = "submit" value = "submit"> </form> </body>
2。フォームを処理するアクションを作成し、別のメソッドを記述してファイルを保存して共有を容易にします。
/**** file* @param file* @return*/private boolean savefile(multipartfile file){//ファイルが空であるかどうかを決定するif(!file.isempty()){// file save path string filepath = request.getsession()。 //転送(new file(filepath)); trueを返します。 } catch(Exception e){e.printstacktrace(); }} falseを返します。 } 3。アクションの書き込み:@RequestMapping( "filesupload")public string filesupload(@requestparam( "files")multipartfile [] files){//ファイルアレイは空になり、その長さは0を超えています(ファイル!= null && files.length> 0){//ファイルアレイのファイルを取得するためにファイルを取得します( 0; i <files.length; i ++){multipartfile file = files [i]; //ファイルsavefile(file)を保存します。 }} // redirect return "redirect:/list.html"; }上記はこの記事のすべての内容です。みんなの学習に役立つことを願っています。誰もがwulin.comをもっとサポートすることを願っています。