前端处理
客户端采用Retrofit进行图文上传,包括JSON格式的String类型和File类型的图片文件
- 接口定义
interface Need {
/**
* 添加需求记录
* @param writeOff
* @return
*/
@POST("Need/addWriteOff")
@Multipart
Observable<ResultBean> submitWriteOffRecord(@Part("writeOff") RequestBody writeOff, @Part MultipartBody.Part signFile);
}
- 参数生成
//JSON字符串
RequestBody part1 = RequestBody.create(MediaType.parse("text/plain;charset=UTF-8"), new Gson().toJson(writeOff));
//签名文件
MultipartBody.Part part2 = MultipartBody.Part.createFormData("file", "signFile", RequestBody.create(MediaType.parse("image/*"), signFile));
- 执行
public static Disposable submitWriteOffRecord(WriteOff writeOff, File signFile, final Callback<String> callback) {
//JSON字符串
RequestBody part1 = RequestBody.create(MediaType.parse("text/plain;charset=UTF-8"), new Gson().toJson(writeOff));
//签名文件
MultipartBody.Part part2 = MultipartBody.Part.createFormData("file", "signFile", RequestBody.create(MediaType.parse("image/*"), signFile));
Observable<ResultBean> observable = RetrofitUtil.getRetrofit().create(Need.class).submitWriteOffRecord(part1, part2);
return observable.observeOn(AndroidSc