Я пытаюсь загрузить (на самом деле POST) множество мелких файлов в один присест вместе с некоторыми ключевыми, пар значений:AngularJS загрузить массив FormData файл
$scope.uploadFiles = function(files) {
if (files.length === 0) {
return;
}
var formData = new FormData();
formData.append('keyName1', 'keyValue1');
formData.append('keyName2', 'keyValue2');
formData.append('keyName3', 'keyValue3');
for (var i = 0; i < files.length; i++) {
formData.append('files[]', files[i]);
}
$http.post('/myEndpoint', formData, {
headers: { 'Content-Type': undefined },
transformRequest: angular.identity
}).success(function (result) {
console.log('YAY');
}).error(function() {
console.log('NAY');
});
}
Вот Java бэкенд:
@RequestMapping(value = "/myEndpoint", method = RequestMethod.POST)
@ResponseBody
public void uploadFiles(
@RequestParam("files") List<MultipartFile> fileList,
@RequestParam("keyName1") String keyName1,
@RequestParam("keyName2") String keyName2,
@RequestParam("keyName3") String keyName3,
HttpServletResponse response, HttpSession session) throws Exception {
log.debug(fileList.size()); // Always logs zero
}
Конечная точка ударяется, но длина файлаList равна нулю. Я также изменил
List<MultipartFile> fileList to MultipartFile[] filesArray
но это не сработало.
Может ли кто-нибудь пролить свет, пожалуйста?
Приветствия,
Пол
для (var i = 0; i
Привет, цель состоит в том, чтобы добавить массив в FormData, где массив содержит n файлов. [link] (https://developer.mozilla.org/en-US/docs/Web/API/FormData/append) – user3034151