RestTemplateを使用して、リモートインターフェイスを呼び出してファイルをアップロードします

問題の説明:サードパーティがファイルをアップロードするためのインターフェースを作成しました。このインターフェースのリクエスト方法はPostリクエストです。リクエストパラメータはすべて、3つのパラメータを含むform-dataの形式で送信されます。

 最初のもの:cookie(文字列型)

 2番目のもの:seqNo(文字列型)

 3番目:ファイル(ファイルタイプ)

解決策:従来のSpring Cloud Feignコンポーネントを使用してリモートインターフェースを呼び出してファイルのアップロードを実装すると、異常なエラーが発生することがあります。次の2つの方法を使用してファイルをアップロードすることを検討してください。

最初の方法RestTemplateを使用して呼び出す

import org.springframework.core.io.InputStreamResource;

import java.io.InputStream;

public class CommonInputStreamResource extends InputStreamResource {
    private long length;
    private String fileName;

    public CommonInputStreamResource(InputStream inputStream, long length, String fileName) {
        super(inputStream);
        this.length = length;
        this.fileName = fileName;
    }

    /**
     * 覆写父类方法
     * 如果不重写这个方法,并且文件有一定大小,那么服务端会出现异常
     * {@code The multi-part request contained parameter data (excluding

おすすめ

転載: blog.csdn.net/y_bccl27/article/details/115088532