如何通过POST,Retrofit 2上传变量中的文件

时间:2016-06-10 05:10:12

标签: android retrofit2

我有以下表格:

<form method='post'><textarea name='xml' cols=70 rows=20></textarea><input type='submit'></form>
<form method="post" enctype="multipart/form-data">
<input type="file" name="input" accept="xml" /> 
<input type="submit" value="Upload" />
</form>

如何通过xml上传POST变量中的文件?使用Retrofit 2

1 个答案:

答案 0 :(得分:0)

我不太确定你在这里问的是什么,但根据标题,为了从Android中的Retrofit 2上传文件,你可以使用@Multipart属性。例如;

@Multipart
@POST("/task/attachments")
Call<JsonElement> postAttachment(@PartMap Map<String, RequestBody> files);

然后按照以下示例构建postAttachment()来调用Map<String, RequestBody>方法:

final File file = getXmlFile();
final Map<String, RequestBody> body = new HashMap<>();

body.put("file\"; filename=\"" + "input" + "\"",
            RequestBody.create(MediaType.parse("text/xml"), file));
Call<JsonElement> attachmentCall = mProvider.postAttachment(body);