FrontPage > Spring Web MVCの覚書

ファイルアップロード

1. ライブラリを追加する。

  • pom.xmlを右クリック、「Maven」→「依存関係の追加」
    「グループID、アーティファクトID・・・の入力(E):」へ"fileupload"と入力。
    「検索結果」から"commons-fileupload commons-fileupload"を選択して「OK」ボタンを押す。
  • pom.xmlを右クリック、「Maven」→「依存関係の追加」
    「グループID、アーティファクトID・・・の入力(E):」へ"commons-io"と入力。
    「検索結果」から"org.apache.commons commons-io"を選択して「OK」ボタンを押す。
  • pom.xmlを右クリック→「コマンド・プロンプトで開く」を選択。表示されるコマンド・プロンプトで以下を実行する。
    workspace\mvc-basic>mvn package
  • target\mvc-basic-1.0.0-SNAPSHOT\WEB-INF\libをsrc\main\webapp\WEB-INF/libへ上書きコピーする。

2. "multipartResolver"を登録する。

  • サーブレット設定ファイル(servlet-context.xml等)に"multipartResolver"を記述。
    例)
    <bean id="multipartResolver" class="org.springframework.web.multipart.commons.CommonsMultipartResolver">
        <!-- one of the properties available; the maximum file size in bytes -->
        <property name="maxUploadSize" value="100000"/>
    </bean>

3. ファイルアップロード用jsp

  • 例)
    <body>
        <form action="fileUpload" enctype="multipart/form-data" method="post">
            名称:<input type="text" name="name"/><br>
            ファイル:<input type="file" name="file"/><br>
            <input type="submit"/>
        </form>
    </body>

4. アップロード用コントローラ

  • 例)
    @Controller
    @RequestMapping("/fileUpload")
    public class FileUploadController {
    
    	@RequestMapping(method=RequestMethod.GET)
    	public String showForm() {
    		return "sample/fileUpload";
    	}
    
    	@RequestMapping(method=RequestMethod.POST)
    	public String upload(@RequestParam("name") String name,
    	        @RequestParam("file") MultipartFile file) throws Exception {
    
    		if (!file.isEmpty()) {
    			saveFile = new File("c:/tmp/upload.txt");
    			file.transferTo(saveFile);
    		}
    
    		return "sample/fileUpload";
    	}
    }




トップ   編集 凍結解除 差分 バックアップ 添付 複製 名前変更 リロード   新規 一覧 単語検索 最終更新   ヘルプ   最終更新のRSS
Last-modified: 2012-08-30 (木) 19:46:30 (2511d)