在Ajax Spring MVC上传文件不起作用

时间:2012-12-18 06:18:50

标签: jquery spring-mvc file-upload multipartform-data

我正在使用ajax将文件上传到spring mvc controller,使用以下代码

var formData = new FormData();    
formData.append('file', file);

  $.ajax({
         url: url,
         data: formData,
         cache: false,
         contentType: false,
         processData: false,
         type: 'POST',
     }); 

我可以在http帖子中看到我的数据,但我在控制器中获得空值。

 @RequestMapping(value = { "/file.htm" }, method = RequestMethod.POST)

    public @ResponseBody String upload(@RequestParam(value="file",required=false) CommonsMultipartFile file 

            ) throws IOException {

        String response="";
}

我也试过了MultipartFile。我甚至尝试使用MultipartHttpServletRequest并尝试从请求中获取数据但无法获取数据。请让我知道如何解决它。感谢

2 个答案:

答案 0 :(得分:1)

尝试使用@RequestPart而不是@RequestParam

答案 1 :(得分:1)

var fd = new FormData();
fd.append( "file", $("input[name=file]").files[0]);

var ajaxReq =  $.ajax({
    url : 'kolfileUpload',
    type : 'POST',
    data : fd,
    cache : false,
    contentType : false,
    processData : false,

});