Rest テンプレート、spring-android、および注釈を使用してマルチパート リクエストを作成する際に問題があります。マルチパートを使用して画像または文字列オブジェクトをアップロードする例を多数見つけましたが、一部の画像と 2 番目の部分の json であるリクエストの実装に関する解決策が見つかりません。
リクエストはこのようなものでなければなりません
ヘッダ:
Content-Type: multipart/form-data; boundary=--abcd12345
Authorization:Basic 1234567890
体:
--abcd12345
Content-Disposition: form-data; name="photo"; filename="image123.jpg"
Content-Type: image/jpeg
<@INCLUDE *C:\Users\John\Desktop\image123.jpg*@>
--abcd12345
Content-Disposition: form-data; name="item"
Content-Type: application/json
{
"name": "My item",
"description": "My item description",
"categories": [1,2]
}
--abcd12345--
多くのバリエーションと組み合わせを試しました... MultiValueMap でリクエストを作成しましたが、サーバーですべての作業が終了し、コンテンツ タイプを消費できませんというエラーが表示されます
誰かがこのplzを実装する方法を知っているなら教えてください. 問題をもう少し明確にするために、apache mime や昔ながらの MultiPartBuilder などの他のライブラリは使用できません。
これはインターネット上で最も一般的な例で、1 つの部分が画像で、もう 1 つの部分が文字列です。
MultiValueMap<String, Object> parts = new LinkedMultiValueMap<String, Object>();
parts.add("file", new FileSystemResource(fileToUpload));
parts.add("method", "hello,world");
String response = mRestClient.uploadFile(parts);
@Rest(rootUrl = "...", converters = {ByteArrayHttpMessageConverter.class, FormHttpMessageConverter.class, StringHttpMessageConverter.class})
public interface RestClient {
@Post("")
public String uploadFile(MultiValueMap data);
}