SpringMVC(tomcat)文件上传(MultipartFile)遇到的一些问题及解决

部分代码:

提交文件的表单



Controller类

@Controller
@RequestMapping("/course")
public class UploadFile {

	private static Logger log=LoggerFactory.getLogger(UploadFile.class);
	
	//跳转到文件选择页面
	@RequestMapping("/upload")
	public String fileup(){
		return "view/fileup";
	}
	
	//上传文件
	@RequestMapping(value="/doUpload",method=RequestMethod.POST)
	public String copyFile(@RequestParam("file") MultipartFile file) throws IOException
	{
		if(!file.isEmpty()){
		log.debug("file proccesing...");
		FileUtils.copyInputStreamToFile(file.getInputStream(), new File("E:\\MyEclipseWorkPlace\\tupian.jpg"));
		}
		return "success";
	}

1.当表单的action为"course/doUpload"时:

跳转到表单页面的url:http://localhost:8082/spring-mvc-study/course/upload    OK!

提交后的url就会变成:http://localhost:8082/spring-mvc-study/course/course/doUpload  然后报404错

我试着把上传文件的那个返回值改成:return "redirect:success"或者将类RequestMapping(course)都不行

似乎是Tomact服务器不能跳到上一层url然后进行跳转?


2.我已经在DispatcherServlet的上下文中配置了


   
        
        
        
   

但是会有异常抛出:Unable to process parts as no multi-part configuration has been provided

这个需要在web.xml文件的servlet标签中配置:


            52428800
            52428800
            0

如果不在DispatcherServlet中配置文件的页面解析器,也可以上传成功,但是耗时相对较长


eg:同样上传一张图片(33722字节),有多部分解析器花费42ms,没有多部分解析器花费64ms





你可能感兴趣的:(SpringMVC(tomcat)文件上传(MultipartFile)遇到的一些问题及解决)