JAVA: загрузить файл Multipart - PullRequest
       5

JAVA: загрузить файл Multipart

0 голосов
/ 03 октября 2018

Я борюсь с многочастной загрузкой файлов в Spring-контроллере.Я прочитал несколько вопросов, Google, но ничего не получается.

Я получаю

error: "Bad Request"
exception: "org.springframework.web.multipart.support.MissingServletRequestPartException"
message: "Required request part 'file' is not present"

Мой контроллер BE:

@RequestMapping(value = "/zip", method = RequestMethod.POST)
public void readFile(@RequestParam("file") MultipartFile file) throws IOException { 
// code
}

FE, angularJS:

service.getZip = function getZip(file) {
    var formData = new FormData();
    formData.append('file', file);
    return $http({
        method: 'POST',
        url: CONSTANTS.readFile,
        data: formData,
        headers: {'Content-Type': undefined}
    }) .then(function (response) {
        var data = response.data;
        return data.id;
    });
}

HTML:

<input type="file" id="file" name="file" accept=".txt"/>

также application.properties содержат:

spring.http.multipart.enabled=false

ОБНОВЛЕНИЕ:

I нетдольше получаю эту ошибку, когда следую совету @ Byeon0gam по удалению @RequestParam из моего контроллера, но файл my имеет значение null, поскольку речь идет о контроллере.Хотя в сервисе FE, как я вижу, он не пустой:

enter image description here

1 Ответ

0 голосов
/ 03 октября 2018

измените Content-Type в вашей FE на:

headers: {'Content-Type': 'x-www-form-urlencoded'}

надеюсь, он будет работать для вас.

...