这里只整理通用的关键步骤至于库的引用等不再介绍,直接上代码:
filePath为上传的原文件(此处我上传的本地的.zip压缩文件)
filePart的类型为MultipartBody.Part
val file = File(filePath);
val requestBody = RequestBody.create(MediaType.parse("multipart/form-data"), file);
val filePart = MultipartBody.Part.createFormData("file", file.getName(), requestBody);
mPresenter?.upLoadFile("param1", "param2", filePart)
以上步骤是发送初始接口接下来是关键:
@Multipart
@POST("collection/voice/upLoad")
fun upLoadFile(@Query("contractNo") contractNo: String?,
@Query("operatorNo") operatorNo: String?,
@Part file: MultipartBody.Part): Flowable<MarketResponse<JSONObject>>
以上为框架请求的关键代码。亲测有效,上传成功。之后遇到问题再加以补充