尝试将formData发布到Spring时415(不支持的媒体类型)

时间:2016-05-23 08:58:38

标签: javascript spring post

我想使用formData将pdf文件发布到spring。

Javascript代码:

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

  $http({
    method: 'POST',
    accept: 'multipart/form-data',
    url: '/upload',
    contentType: 'multipart/form-data',
    data: formData
  }).then(function successCallback(response) {
    console.log(response);
  }, function errorCallback(response) {
    console.log(response);
  });

春季代码:

@Controller
public class upload {


@RequestMapping(value = "/upload", method = RequestMethod.POST,consumes="multipart/form-data", headers = "content-type=multipart/form-data")
private void upload(MultipartHttpServletRequest request, HttpServletResponse response){

}
}

使用此代码时,我收到错误" 415(不支持的媒体类型)" 。我试图发布json对象(application / json而不是multipart / form-data)并且它工作得很好。

在我的情况下,multipart / form-data是错误的类型吗?或者代码中是否只有错误?

我非常感谢你的潜在帮助。

1 个答案:

答案 0 :(得分:0)

接受部分是错误的,你不需要它。

$ http本地处理那么多文件,使用https://github.com/danialfarid/ng-file-upload以便能够处理文件,在表单上添加有关文件的验证(大小,类型......)。 / p>

对于原始的$ http解决方案,请在此处查看第二个最受欢迎的答案:Angularjs $http post file and form data