multipart请求处理文件上传相关错误

multipart请求处理文件上传相关异常

           使用Spring中 Commons FileUpload 实现文件上传 在 request 到 MultipartHttpServletRequest转型的时候会出现 转型异常 ClassCastException.

MultipartHttpServletRequest multipartRequest = (MultipartHttpServletRequest) request

 

有效的解决办法之一:

CommonsMultipartResolver commonsMultipartResolver = new CommonsMultipartResolver(request
.getSession().getServletContext());
commonsMultipartResolver.setDefaultEncoding("utf-8");
MultipartHttpServletRequest multipartRequest = commonsMultipartResolver.resolveMultipart(request);

 可实现 request 到 MultipartHttpServletRequest 的转型。

 

拿到 MultipartFile后 转为 File:

//List<MultipartFile> imageFiles = multipartRequest.getFiles("uploadfile");

MultipartFile file = multipartRequest.getFile("uploadfile");
//MultipartFile 转 File
String filename = file.getOriginalFilename();  		
File source = new File(filename.toString());//文件
try {
    file.transferTo(source);
} catch (IllegalStateException e1) {
    System.out.println(e1.getMessage());
	
} catch (IOException e1) {
    System.out.println(e1.getMessage());
}   
		
String fileName = source.getName();
if (source.isFile()) {	
	//得到File后的操作
	//TODO
}