我正在使用Spring MVC(4.1.3)进行我的Web项目。我有以下控制器来处理上传的文件:
@RequestMapping(value={"/avatar"}, method=RequestMethod.POST)
public String avatarPost(HttpServletRequest request,
@RequestParam(value = "uid", required = true) Long uid,
Map<String, Object> map) {
try {
MultipartHttpServletRequest multipartRequest = (MultipartHttpServletRequest) request;
CommonsMultipartFile file = (CommonsMultipartFile) multipartRequest.getFile("file");
String name = file.getOriginalFilename(); //"file" is null if deployed in a war file
.....
} catch (IOException ex) {
throw new RuntimeException("upload error");
}
}
这是HTML:
<form method="post" action="/avatar?uid=1" enctype="multipart/form-data">
<input type="file" name="file">
<button name="submit">Save</button>
</form>
上述代码在Eclipse(Luna)和Jetty(7.x)环境中运行良好。但是,如果Web应用程序在war文件中部署到Tomcat(7.x),那么&#34;文件&#34;永远是空的。
上面我做错了什么?
谢谢!
答案 0 :(得分:0)
得到了解决。我将相同的war文件部署到Tomcat 6.x上,文件上传工作正常。
必须有一些我不了解Tomcat 7.x的东西。
希望这有助于其他人。