spring 3に基づく.xファイルアップロード


Spring 1が発売された時はJ 2 EEの開発を大きく覆し、徹底的にEJBを打ち負かし、J 2 EEの開発を簡素化したと言えるでしょう.
Spring 2が発売された後、多くのオープンソースフレームワークとサーバとの結合が完璧になり、抱擁が強化され、Springはツールボックスになり、すべてがそろっています.
Spring 3が発売されてから開発を本格的にシンプル化し、Spring 3はRESTスタイルをサポートし、Spring 3を採用して開発するのは、簡単すぎる.
もし私が吹聴していると言ったら、1行の有効なコードはB/Sモードのファイルのアップロードを完成することができて、ほほほ.くだらないことは言わないで、まずコードを見てください.
インベントリ1:
springmvc-servlet.xml
springmvc-servlet.xmlファイルに次のコードを追加します.
 <bean id="multipartResolver" 
class="org.springframework.web.multipart.commons.CommonsMultipartResolver">
 <!–             –>
 <property name="maxUploadSize" value="1000000"/>
 </bean>

インベントリ2:
web.xml
Webでxmlファイルに次のコードを追加します.
 <servlet> 
<servlet-name>springmvc</servlet-name> 
<servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class> 
<load-on-startup>2</load-on-startup> 
</servlet> 
<servlet-mapping> 
<servlet-name>springmvc</servlet-name> 
<url-pattern>/</url-pattern> 
</servlet-mapping> 

インベントリ3
upload.html
通常のhtmlファイルを作成し、次のコードを追加します.
 <form method="post" action="/SpringREST/image/imageUpload" enctype="multipart/form-data">
 <input type="file" name="file" />
 <input type="submit" value="upload"/>
</form>

インベントリ4
ImageController.java
package com.javabloger.springrest.action;
 import java.io.FileOutputStream;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestMethod;
import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.multipart.MultipartFile;
import com.javabloger.springrest.dao.ImageDAO;
 @Controller
@RequestMapping("/image") 
public class ImageController {
 @RequestMapping("/imageUpload") 
public String processImageUpload(
 @RequestParam() MultipartFile file //            
 ) throws Exception {
 if (!file.isEmpty()) {
 byte[] bytes = file.getBytes();
 FileOutputStream fos = new FileOutputStream("d:/upload/"+file.getOriginalFilename()); //           
 fos.write(bytes); //    
 } 
System.out.println ("name: "+file.getOriginalFilename()+" size: "+file.getSize() ); //            
 return "redirect:/image"; //            
 }
}