Android Form表单上传文件
1.接口定义
@Multipart//这里用Multipart注解来请求,
@POST("/uploadUrl")//接口地址
//注解用@Part,参数类型为List<MultipartBody.Part> 可以支持多张上传
Observable<实体类> uploadFile(@Part List<MultipartBody.Part> partLis);
2.实体封装
//创建MultipartBody.Builder 设置类型为表单 MultipartBody.FORM
MultipartBody.Builder builder = new MultipartBody.Builder().setType(MultipartBody.FORM);
//封装RequestBody “file” 为需要上传的文件 类型为 File
RequestBody body=RequestBody.create(MediaType.parse("multipart/form-data"),file);
//添加数据到build "key"为后端定义的参数名称 比如“cover”
builder.addFormDataPart(key,file.getName(),body);
//转换为list
List<MultipartBody.Part> parts=builder.build().parts();
3.接口请求
接口调用 传递封装好的 parts即可。