參考鏈接: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 還是比較簡單的,從流的方式修改爲表單上傳修改的地方相當的少。原以爲很複雜,實際倒是挺簡單的。