[置顶] spring2.5 mvc使用注解upload上传文件

 对于spring mvc来说2.0以后大量使用注解确实简单很多,最近在一个项目使用spring mvc遇到上传文件问题,由于使用了注解所以网上没有找到相关使用注解上传文件的。官方文档又没有更新都是老的,看了一些源码这才解决。
使用注解很简单。
写个例子:控制器类 FileUploadController.java

package org.upload.test;  
   
import org.springframework.stereotype.Controller;  
import java.io.FIle;  
import org.springframework.web.bind.annotation.RequestParam;  
import org.springframework.web.multipart.MultipartFile;  
/** 
 * FileUploadController for the file upload . 
 * 
 * @author lhbdir 
 * @since 09.01.2008 
 */  
@Controller  
public class FileUploadController {  
  @RequestMapping("/imageUpload")  
   public String processImageUpload(  
     @RequestParam("imageFile") MultipartFile image) throws IOException {  
         FileCopyUtils.copy(image.getBytes(),new File("c:/"+image.getOriginalFilename()));  
     return "imageList";  
   }  
 }  


 

@RequestParam("imageFile") MultipartFile image 是注解映射页面上传文件标签name属性,
页面 imageList.jsp里的内容,加上下面的就可以了。

<table border="1" cellspacing="0" cellpadding="5">  
<form action="imageUpload" method="post" encType="multipart/form-data">  
  <tr<td>Content</td><td> <input type="imageFile" name="image">  
<br></td></tr>  
  <tr><td colspan="2"><input type="submit" value="Upload image"></td></tr>  
</form>  
</table> 


<input type="file" name="imageFile">此标签name与控制器类注解要一样.
下面的配置文件要写好,web.xml跟applicationContext.xml不用加什么跟正常的spring mvc一样配置就可以了,
servletName-servlet.xml (servletName是你配置在web.xml里的,不明白的去看一下spring MVC配置文档)

里加入以下代码做文件上传类的绑定:
<bean id="multipartResolver" class="org.springframework.web.multipart.commons.CommonsMultipartResolver"/>

别忘了加入commons里的fileupload跟io两个JAR包,这样就可以了。

你可能感兴趣的:(spring,mvc,image,upload,import,imagelist)