【发布时间】:2015-06-19 11:26:33
【问题描述】:
我正在为我的 Web 项目使用 Spring MVC (4.1.3)。我有以下控制器来处理上传的文件:
@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) plus Jetty (7.x) 环境中运行良好。但是,如果 Web 应用程序部署在 Tomcat (7.x) 的 war 文件中,则“文件”始终为空。
上面我做错了吗?
谢谢!
【问题讨论】:
-
请用您的整个方法和您提交的表单的标记更新您的问题。