Изображения повреждены с помощью Spring и Feign Client

Я извиняюсь за мой плохой английский:(

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

// CLIENT APP
@FeignClient(name = "media-client", url = "${api.base-path}/media")
public interface MediaClient {
    @PostMapping
    String uploadMedia(@RequestPart("file") MultipartFile file);
}

// SERVER APP
@PostMapping(consumes = MediaType.MULTIPART_FORM_DATA_VALUE)
String uploadMedia(@RequestPart MultipartFile file) throws IOException {
    Files.copy(file.getInputStream(), Paths.get("/home/m/Desktop").resolve(UUID.randomUUID().toString() + ".jpg"));
    return null;
}

То же изображение сохранено с клиентским приложением и серверным приложением. Но результат таков:

В чем дело? Пожалуйста, помогите мне.

1 ответ

Я предлагаю использовать кодировщик Feign для многочастных форм / форм данных. шаги:

Во-первых, включите эту зависимость в файл pom.xml вашего проекта:

<dependency>
    <groupId>io.github.openfeign.form</groupId>
    <artifactId>feign-form</artifactId>
    <version>2.2.1</version>
</dependency>

Затем добавьте эту конфигурацию:

@Configuration
public class FeignClientConfiguration {
    @Bean
    @Primary
    @Scope("prototype")
    public Encoder encoder() {
        return new SpringFormEncoder();
    }
 }

и измените свою аннотацию:

@FeignClient(name = "media-client", url = "${api.base-path}/media", configuration = FeignClientConfiguration.class)
Другие вопросы по тегам