Итак, у меня есть форма, созданная с помощью AngularJS (совсем не подходит для проекта, но это то, что использовал этот парень), который имеет стандартные поля вместе с входами типа «файл». Из того, что я прочитал, похоже, что объект FormData будет хорошим способом сохранить форму, за исключением того, что я не могу заставить ее работать вообще. Я пробовал использовать методы here без каких-либо успехов, и я думаю, проблема в том, что я неправильно пишу контроллер. Реальная форма имеет много больше полей и несколько файлов, но это упрощенный тест, который я пытался добраться до работы:POST FormData объект для Spring MVC
HTML:
<form enctype="multipart/form-data" method="post" name="testform">
<input type="file" name="file" required />
<input type="text" name="name"/>
</form>
JS:
function submit() {
var fd = new FormData(document.getElementById("testform"));
$.ajax({
url: saveUrl,
type: "POST",
data: fd,
processData: false, // tell jQuery not to process the data
contentType: false, // tell jQuery not to set contentType
success: function (result) {...}
});
}
I «Пробовал много вариаций контроллера с помощью MultipartHttpServletRequest, объекта, моделирующего форму, разных заголовков и т. д. Ничто не было действительно близко к работе, но что-то неясно:
Если кто-то может помочь, это будет потрясающе. Я также открыт для альтернативных методов сделать это, я едва знаю, Угловой и я довольно новый для весны, так что, может быть, я беру неправильный подход все вместе ...