我将一些表单数据发布到Spring控制器,如果成功,我再次将两个文件从Angular控制器发布到Spring控制器:
$http.post('userdetails', formData).success(function(response) {
if ($scope.items.length > 0) {
for (var i = 0; i < $scope.items.length; i++) {
$scope.uploadItem(response.id, $scope.items[i]);
}
}
});
这是我的uploadItem函数:
$scope.uploadItem = function(id, file) {
var data = new FormData();
data.append('id', id);
data.append('file', file);
$http.post('multipleSave', data, {
transformRequest: function(data, headersGetterFunction) {
return data;
},
headers: {
'Content-Type': undefined
}
}).success(function(data) {
$log.debug("Upload Successfull");
$log.debug("File upload: Success calling ");
alert(data);
alert("hi");
}).error(function(error) {
$log.debug("Upload failure");
alert(error);
});
};
这是我的Spring Controller代码
@RequestMapping(value="/multipleSave", method = RequestMethod.POST)
public void UploadFile(MultipartHttpServletRequest request, HttpServletResponse response) {
Iterator<String> itr=request.getFileNames();
MultipartFile file=request.getFile(itr.next());
String fileName=file.getOriginalFilename();
System.out.println(fileName);
}
MultipartHttpServletRequest请求中的内容为空。
答案 0 :(得分:0)
您的请求标头中的加密类型应设置为multipart/form-data
。
$http.post('multipleSave', data, {
transformRequest: function(data, headersGetterFunction) {
return data;
},
headers: {
'Content-Type': undefined,
enctype:'multipart/form-data'
}
})