1

で破損している:(画像は私が私の悪い英語のため申し訳ありませんが、春と装うクライアント

私は装うクライアントの画像ファイルをアップロードしたいのですが、画像がサーバーアプリ上で破損している。

// 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; 
} 

クライアントアプリケーションとサーバアプリで保存した画像しかし、結果は次のようになります。?。

https://i.stack.imgur.com/xbiPS.png

何が悪い私を助けてください

+0

あなたはそのファイルをローカルでテストしたと思いますが、アップロード前に破損していませんか? – sniperd

+0

@sniperdはい、私はファイルをローカルでテストしました。アップロード後に破損しています。 – mkrgl

答えて

0

私は、マルチパート/フォームデータフォームに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) 
+0

こんにちは@ Shchipunov。ご回答有難うございます。私はすでにこれらの依存関係を追加しています。ファイルはアップロードされますが、サーバーアプリケーションで破損します。 – mkrgl

関連する問題