Android Retrofit 实现文字(参数)和图片一起上传?
本文介绍了Android Retrofit 实现文字(参数)和图片一起上传?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
问 题
Retrofit图文上传时,如何做到适应所有情况?
1.只有文字
2.只有图片
3.图文都有
使用post请求
解决方案
@Multipart
@POST("/xxx")
Observable<Result<String>> addInfo(@Part List<MultipartBody.Part> requestBodyMap);
List<MultipartBody.Part> parts = new ArrayList<>();
parts.add(toRequestBodyOfText("name", userName));
parts.add(toRequestBodyOfImage("image",foundImage));
...
private MultipartBody.Part toRequestBodyOfText (String keyStr, String value) {
MultipartBody.Part body = MultipartBody.Part.createFormData(keyStr, value);
return body;
}
private MultipartBody.Part toRequestBodyOfImage(String keyStr, File pFile){
RequestBody requestBody = RequestBody.create(MediaType.parse("multipart/form-data"), pFile);
MultipartBody.Part filedata = MultipartBody.Part.createFormData(keyStr, pFile.getName(), requestBody);
return filedata;
}
这篇关于Android Retrofit 实现文字(参数)和图片一起上传?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文