Reputation: 4931
angular
var fd = new FormData();
fd.append('file', mdCtrl.user.resume);
$http.post('/JobHire/users/register', fd, {
transformRequest: angular.identity,
headers: {'Content-Type': undefined}
}).then(function success(response){
console.log(response);
},function error(error){
console.log(error);
});
Spring controller
@RestController
public class UserController {
@RequestMapping(value="/users/register",method=RequestMethod.POST)
public String save(MultipartHttpServletRequest request,HttpServletResponse response){
Iterator<String> itr = request.getFileNames();
while (itr.hasNext()) {
System.out.println("i am here");
MultipartFile mFile = request.getFile(itr.next());
String fileName = mFile.getOriginalFilename();
System.out.println(fileName);
}
return "Success";
}
}
I did not get any files on server side. can some one tell me where i went wrong.
Upvotes: 0
Views: 85
Reputation: 940
Make sure you define a CommonsMultipartResolver
bean in your mvcconfig. Using java config the following code is applicable:
@Bean
public CommonsMultipartResolver multipartResolver(){
CommonsMultipartResolver multipartResolver = new CommonsMultipartResolver();
multipartResolver.setDefaultEncoding("UTF-8");
multipartResolver.setMaxUploadSize(-1); //-1 = no limit
return multipartResolver;
}
Upvotes: 1