Значит в JS запаковываю изображение и нужную мне строку отправляю как json:
var form = document.forms[2];
var formData = new FormData(form);
var json = {
"id": id,
"file": formData
};
$.ajax( "URL", {
data: JSON.stringify(json),
type: "post",
contentType: "application/json",
success: function (data) {
if(data == true){
window.location.reload();
}
},
error: function () {
alert("Ошибка!");
}
});
А на стороне RestControllera не получается достать эти данные.
@RequestMapping(value = "/save-avatar", method = RequestMethod.POST)
public boolean saveUserAvatar(@RequestBody String data){
JSONObject json = new JSONObject(data);
int id = Integer.valueOf(json.getString("id"));
MultipartFile multipartFile = (MultipartFile) json.get("file");
}
точнее строка достается, а файл нет.
Если из JS отправлять только один файл то на стороне контроллера я достаю его таким образом:
@RequestMapping(value = "change-avatar", method = RequestMethod.POST)
public @ResponseBody void changeAvatar(MultipartHttpServletRequest request){
MultipartFile multipartFile = request.getFile("file");
}
Как достать и строку и файл на стороне контроллера?
Апостиль в Лос-Анджелесе без лишних нервов и бумажной волокиты
Основные этапы разработки сайта для стоматологической клиники
Продвижение своими сайтами как стратегия роста и независимости