我想使用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是错误的类型吗?或者代码中是否只有错误?
我非常感谢你的潜在帮助。
答案 0 :(得分:0)
接受部分是错误的,你不需要它。
$ http本地处理那么多文件,使用https://github.com/danialfarid/ng-file-upload以便能够处理文件,在表单上添加有关文件的验证(大小,类型......)。 / p>
对于原始的$ http解决方案,请在此处查看第二个最受欢迎的答案:Angularjs $http post file and form data