【发布时间】:2015-01-06 15:29:19
【问题描述】:
我在使用 Rest 模板、spring-android 和注释创建 Multipart 请求时遇到问题。我发现了许多使用 Multipart 上传图像或字符串对象的示例,但我找不到任何解决方案来实现一个部分图像和第二部分 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 创建请求,但我所有的努力都以服务器结束,给我无法使用内容类型错误
如果有人知道如何实现这个请告诉。为了进一步澄清问题,我不能使用任何其他库,如 apache mime 或老式 MultiPartBuilder 等。
这是 Internet 上最常见的示例,它具有一部分图像和另一部分字符串。
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);
}
【问题讨论】:
标签: android json rest multipart spring-android