带有Ajax文件上传和MultipartFile的Spring MVC

我在Spring 3 MVC中使用Ajax上传时遇到问题。我知道我必须在spring config中配置multipartResolver

bean。比我可以拥有这样的控制器

@RequestMapping(value ="/settingsSim")

@ResponseBody

public Map uploadSimSettings(@RequestParam(value="qqfile", required=true) MultipartFile settings) {

Map<String, Object> ret = new HashMap<String, Object>();

return ret;

}

问题是,当我实际将请求发送到服务器时(实际上是valums

Ajax文件上传为我完成了此操作),我收到内部服务器错误响应,并且日志中未显示任何内容。我现在真的挠头,因为我无法弄清楚问题所在。

回答:

使用valums插件时,我通过使用@RequestBodySpring注释解决了此问题。您可以按以下方式重写代码:

@RequestMapping(value ="/settingsSim",method=RequestMethod.POST)

@ResponseBody

public Map uploadSimSettings(@RequestBody String body) {

/*

some controller logic

*/

}

请注意,该变量body将包含上载文件的内容。此外,您的示例中没有方法声明,这意味着您的方法将映射到GET请求。

PS我在使用Apache

Commons解析请求时也遇到了“无多部分边界”的问题。HttpServletRequest#getParts()仅返回一个空集合。

以上是 带有Ajax文件上传和MultipartFile的Spring MVC 的全部内容, 来源链接: utcz.com/qa/421545.html

回到顶部