Ошибка загрузки Spring Boot Image

Продолжайте получать Required request part 'file' is not present при загрузке образа в контроллер (все остальные службы работают нормально). Я исключил Postman, успешно загрузив на этот весна-проводник. Не уверен, чего не хватает.

Spring могла версия: Edgware.BUILD-SNAPSHOT

Контроллер:

@RequestMapping(path = "/{account_id}/image", method = RequestMethod.POST)
public ResponseEntity uploadProfileImage(
    @RequestParam("file") MultipartFile file,
    @PathVariable String account_id) {
    ...
}

Почтальон:Ошибка загрузки Spring Boot ImageОшибка загрузки Spring Boot Image

Зависимости от POM

<dependency>
    <groupId>org.springframework.cloud</groupId>
    <artifactId>spring-cloud-starter-oauth2</artifactId>
</dependency>
<dependency>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-security</artifactId>
</dependency>
<dependency>
    <groupId>org.springframework.security.oauth</groupId>
    <artifactId>spring-security-oauth2</artifactId>
</dependency>
<dependency>
    <groupId>org.springframework.cloud</groupId>
    <artifactId>spring-cloud-starter-config</artifactId>
</dependency>
<dependency>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-web</artifactId>
</dependency>
<dependency>
    <groupId>org.springframework.cloud</groupId>
    <artifactId>spring-cloud-starter-feign</artifactId>
</dependency>
<dependency>
    <groupId>org.springframework.cloud</groupId>
    <artifactId>spring-cloud-starter-netflix-eureka-client</artifactId>
</dependency>
<dependency>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-data-mongodb</artifactId>
</dependency>
<dependency>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-actuator</artifactId>
</dependency>
<dependency>
    <groupId>org.springframework.cloud</groupId>
    <artifactId>spring-cloud-starter-bus-amqp</artifactId>
</dependency>
<dependency>
    <groupId>org.springframework.cloud</groupId>
    <artifactId>spring-cloud-netflix-hystrix-stream</artifactId>
</dependency>
<dependency>
    <groupId>com.google.guava</groupId>
    <artifactId>guava</artifactId>
    <version>25.0-jre</version>
</dependency>

Вы пробовали добавить имя заголовка Content-Type со значением multipart/form-data в качестве значения?

TwiN 25.05.2018 04:53

Ага. Нет эффекта. Согласно некоторым сообщениям, добавление Content Type может ухудшить ситуацию. Кроме того, проверка консоли почтальона показала, что он правильно добавил тип контента.

Aram 25.05.2018 05:01

Я не могу воспроизвести его со своей стороны, единственный способ получить такое же сообщение об ошибке - это попытаться использовать ключ, отличный от файла. Я продолжу искать, хотя

TwiN 25.05.2018 05:10

Что появляется сообщение об ошибке при замене @RequestParam("file") на @RequestParam("potato")? Это должен быть Required request part 'potato' is not present, но если это не так, это означает, что другая конечная точка перехватывает запрос.

TwiN 25.05.2018 05:20

можно один раз попробовать с @RequestPart("file") MultipartFile file. Это рабочий пример загрузки файла tuturself.com/posts/view?menuId=3&postId=1295

Arpan Das 25.05.2018 07:01

@TwiN "Отсутствует обязательная часть запроса 'potato'"

Aram 25.05.2018 23:57

@ArpanDas Та же ошибка. У меня есть как минимум пара других работающих проектов загрузки, которые работают нормально. Проблема в том, что ни у одного из них нет одинаковой конфигурации.

Aram 26.05.2018 00:09
0
7
339
1
Перейти к ответу Данный вопрос помечен как решенный

Ответы 1

Ответ принят как подходящий

Решением для этой конкретной конфигурации было перемещение проекта из Edgeware с Spring Boot 1.5.13 в Finchley с Spring Boot 2.0.1.

Другие вопросы по теме