I have a Controller like this:
@RequestMapping(value = "/user/", method = RequestMethod.PUT, produces = MediaType.APPLICATION_JSON_VALUE)
public @ResponseBody UserLesserDTO createUser(@RequestParam("profileImage") MultipartFile file, @RequestBody UserDTO user) {
System.out.println("Creating User " + user.getName() );
try {
UserDTO userTest = userService.getUserByUsername( user.getName() );
return new UserLesserDTO( userTest );
} catch ( NoResultException e ) {
//
}
return new UserLesserDTO( userService.addUser(user) );
}
and a form to create the user.
This form have a input type file
named profileImage
.
My question is: As I can't send a PUT
method in HTML, I MUST send it as an Ajax request converting all form attributes to a JSON object and send it as PUT
. But I need to send a file too and I don't know how to proceed.