Изображения повреждены с помощью 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)