Я пытаюсь сделать утилиту загрузки, чтобы загрузить файл Excel и сделать массовую вставку в БД.
Я использую AngularJS и Spring.
Я пытался в течение нескольких дней, но я не могу java прочитать загруженный файл.
Я использую ngFileUpload
и javascript получает мой файл, но когда я звоню Контроллер, параметр равен нулю или что-то не так http-ошибка 400 "Обязательная часть запроса 'файл' отсутствует".
Заголовок запроса
Я попробовал все, добавив multipartresolver
в конфиг; включение многочастного кодирования в application.properties; добавление библиотеки в pom.xml
, но она все еще не работает.
server.port=8081
spring.http.encoding.charset=UTF-8
spring.http.encoding.enabled=true
spring.http.multipart.max-file-size=15000000
spring.http.multipart.max-request-size=15000000
@Bean
public MultipartResolver multipartResolver() {
return new CommonsMultipartResolver();
}
@PostMapping(value = "/excelUploader", consumes = "multipart/form-data")
public ResponseEntity<?> saveEnvironmentConfig(@RequestParam("file") MultipartFile submissions){
return null;
}
EDIT Клиентская часть
$scope.upload = function() {
Upload.upload({
url: $scope.uploadServiceUrl,
data: { file: $scope.files,
method: 'POST'}
}).then(function(resp) {
if ($scope.uploadCompleteFn) {
$scope.uploadCompleteFn();
}
console.log('Upload complete.');
}, function(resp) {
console.log('Error status: ' + resp.status);
});
};