0
複数のファイルをサーバーにアップロードしたい。ここに私の角度のコードは次のとおりです。複数のファイルをSpringコントローラにアップロード
app.directive('fileModel', ['$parse', function ($parse) {
return {
restrict: 'A',
link: function (scope, element, attrs) {
var model = $parse(attrs.fileModel);
var modelSetter = model.assign;
element.bind('change', function() {
scope.$apply(function() {
modelSetter(scope, element[0].files);
});
});
}
};
}]);
とコントローラの一部:
var fd = new FormData();
fd.append('files', $scope.file);
fd.append('ticketDto', JSON.stringify(data));
$http({
method: 'POST',
url: url,
headers: {
'Content-Type': undefined
},
data: fd,
arrayKey: '',
transformRequest: function (data, headersGetterFunction) {
return data;
}
})
問題がコントローラであることである:
public void createTicket(@RequestParam(value = "files", required = false) List<MultipartFile> files,
Authentication authentication,
@RequestParam(value = "ticketDto", required = false) String name)
'ファイル' リストは常に空です(私はまた、リストの代わりにMultipartFile []を試しました)。
scope.$apply(function() {
modelSetter(scope, element[0].files[0]);
});
代わり
scope.$apply(function() {
modelSetter(scope, element[0].files);
});