【发布时间】:2015-03-02 14:15:03
【问题描述】:
我无法通过 AJAX 从我的网络客户端上传文件到我的服务器。我在客户端使用以下 jQuery 库进行文件上传:https://github.com/hayageek/jquery-upload-file
在服务器端,我使用 Spring 框架,并按照以下 Spring 教程构建我的服务:https://spring.io/guides/gs/uploading-files/
起初,我的服务器方法看起来像这样(file 被定义为 @RequestParam):
@RequestMapping(value="/upload", method=RequestMethod.POST)
public @ResponseBody String handleFileUpload(@RequestParam("file") MultipartFile file){
//functionality here
}
但每次我提交上传表单时,我都会收到来自服务器的错误请求消息,而我的 handleFileUpload() 方法从未被调用过。
之后,我意识到文件不是作为请求参数发送的,所以我将file 定义为@RequestBody,现在我的方法如下所示:
@RequestMapping(value="/upload", method=RequestMethod.POST)
public @ResponseBody String handleFileUpload(@RequestBody("file") MultipartFile file){
//functionality here
}
现在每次提交上传表单时都会调用handleFileUpload(),但每次我想操作文件时都会得到NullPointerException。
我想避免默认提交表单,我只想通过 AJAX 直接向服务器提交。有人知道这里会发生什么吗?
【问题讨论】:
-
与论坛网站不同,我们不使用“谢谢”、“感谢任何帮助”或Stack Overflow 上的签名。请参阅“Should 'Hi', 'thanks,' taglines, and salutations be removed from posts?。顺便说一句,这是“提前致谢”,而不是“致谢”。
-
@JohnSaunders 我知道,这是我在最近的帖子中停止做的事情。无论如何,谢谢你的建议。
标签: ajax spring file-upload jquery-file-upload