文件上载失败,angularjs和spring启动失败
我想上传文件 controller.js文件上载失败,angularjs和spring启动失败,angularjs,spring-boot,file-upload,Angularjs,Spring Boot,File Upload,我想上传文件 controller.js userService.saveProfile($scope.user.profile.companyLogo).then(function(response){ if(response.status==201){ $('#profileModal').hide(); $scope.load(); } }); service.js saveProfile:function(logo){
userService.saveProfile($scope.user.profile.companyLogo).then(function(response){
if(response.status==201){
$('#profileModal').hide();
$scope.load();
}
});
service.js
saveProfile:function(logo){
var formData = new FormData();
formData.append("file",logo);
var retVal = $http({
method : 'POST',
url : '/api/user/profile',
transformRequest: angular.identity,
headers: {'Content-Type': undefined},
data: formData
}).then(function(response){
return response;
});
return retVal;
}
Controller.java
@RequestMapping(value="/profile",method = RequestMethod.POST,headers="'Content-Type':'multipart/form-data'")
public ResponseEntity saveProfile(@RequestBody MultipartFile file){
System.out.println(file);
return new ResponseEntity(HttpStatus.CREATED);
}
如果我将头添加到@RequestMapping,我得到的是404,如果我删除它,我得到的是文件null
请给我建议正确的上传文件的方法,它很有效
我从@RequestMapping中删除了头,并使用@RequestPart而不是@RequestBody
@RequestMapping(value="/profile",method = RequestMethod.POST)
public ResponseEntity saveProfile(@RequestPart("file") MultipartFile file){
System.out.println(file);
return new ResponseEntity(HttpStatus.CREATED);
}
您是否在服务中获取文件的值?@Vivz是的,我在服务中获取值。它是否在服务中。然后?@Vivz然后我尝试以表单数据的形式发布到服务器,但它在服务器端抛出404,带有标题。您必须从angular js中指定enctype=“multipart/form data”。