使用SpringMVC实现文件上传
步骤:
1、导入需要依赖的jar包
<dependency>
<groupId>commons-fileupload</groupId>
<artifactId>commons-fileupload</artifactId>
<version>1.3.1</version>
</dependency>
2、在springmvc配置文件中定义文件上传解析器
在springmvc配置文件中定义文件上传解析器:
<!-- 定义文件上传解析器 -->
<bean id="multipartResolver" class="org.springframework.web.multipart.commons.CommonsMultipartResolver">
<!-- 设置默认编码 -->
<property name="defaultEncoding" value="UTF-8" />
<!-- 设置上传文件最大值限制为3M -->
<property name="maxUploadSize" value="3145728" />
</bean>
3、定义文件上传的Controller
package com.its.springmvc.controller;
import java.io.File;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.multipart.MultipartFile;
/**
* 文件上传
*
*/
@Controller
@RequestMapping("/file")
public class FileUploadController {
/**
*
* @param multipartFile
* @return 返回的是视图名
* @throws Exception
*/
@RequestMapping("/upload")
public String upload(@RequestParam("file") MultipartFile multipartFile) throws Exception {
if (multipartFile != null) {
multipartFile.transferTo(new File("c:\\tmp\\" + multipartFile.getOriginalFilename()));
}
return "redirect:/html/success.html";
}
}
注意:返回的视图名以redirect:开头,做页面重定向(当返回的数据中只有视图名但是没有模型数据的时候,可以不用返回ModelAndView, 返回String默认就表示返回视图名)