本文图片上传感觉比网上找的详细很多,不信亲测
项目地址:https://github.com/HarryXR/RetrofitRxjavaDemo
Demo只展示了Get请求因为post 上传图片用的公司的Url,不便展示,但已封装多图上传,修改baseurl 和参数即可使用
- 说说多图上传
使用MultipartBody,封装多张图片以及所需参数
@POST("face")
Observable<BaseResponse<PostResponse>> upload(@Body MultipartBody imgs);
MultipartBody参数封装
- 添加一张图片
RequestBody requestBody= RequestBody.create(
MediaType.parse("multipart/form-data"), file);
MultipartBody.Builder builder = new MultipartBody.Builder();
builder.setType(MultipartBody.FORM);
builder.addFormDataPart("file", file.getName(), requestBody);
MultipartBody body=builder.build();//调用即可
- 多图上传
简单说就是循环添加图片
for (File f : files)
{
RequestBody requestBody = RequestBody.create(
MediaType.parse("multipart/form-data"), f);
builder.addFormDataPart("file", f.getName(), requestBody);
}