参考链接:https://www.cnblogs.com/wondertwo/p/6143188.html
步骤如下:
首先,将需要上传的文件构建一个RequestBody
File file // 你要上传的文件
// 创建RequestBody,传入参数:"multipart/form-data",File
RequestBody fileRequestBody = RequestBody.create(MediaType.parse("multipart/form-data"), file);
然后,构建一个MultipartBody.Part
ParameterName填入后端定义的文件参数名
// 创建MultipartBody.Part,用于封装文件数据
MultipartBody.Part requestImgPart =
MultipartBody.Part.createFormData("ParameterName", fileName, fileRequestBody);
最后,再接口里定义一个参数@Part MultipartBody.Part file ,将定义好的MultipartBody.Part 传入即可
@Multipart
@POST("你的上传地址")
Observable<ResponseBody> uploadRecord(@Header("file_name") String fileName, @Part MultipartBody.Part file)
总结:Retrofit 还是比较简单的,从流的方式修改为表单上传修改的地方相当的少。原以为很复杂,实际倒是挺简单的。