Продолжайте получать 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) {
...
}
Зависимости от 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 может ухудшить ситуацию. Кроме того, проверка консоли почтальона показала, что он правильно добавил тип контента.
Я не могу воспроизвести его со своей стороны, единственный способ получить такое же сообщение об ошибке - это попытаться использовать ключ, отличный от файла. Я продолжу искать, хотя
Что появляется сообщение об ошибке при замене @RequestParam("file") на @RequestParam("potato")? Это должен быть Required request part 'potato' is not present, но если это не так, это означает, что другая конечная точка перехватывает запрос.
можно один раз попробовать с @RequestPart("file") MultipartFile file. Это рабочий пример загрузки файла tuturself.com/posts/view?menuId=3&postId=1295
@TwiN "Отсутствует обязательная часть запроса 'potato'"
@ArpanDas Та же ошибка. У меня есть как минимум пара других работающих проектов загрузки, которые работают нормально. Проблема в том, что ни у одного из них нет одинаковой конфигурации.
Решением для этой конкретной конфигурации было перемещение проекта из Edgeware с Spring Boot 1.5.13 в Finchley с Spring Boot 2.0.1.
Вы пробовали добавить имя заголовка
Content-Typeсо значениемmultipart/form-dataв качестве значения?