Retrofit2.3 + Kotlin + RxJava2.0+MVP+Dagger2实现文件上传的功能

这里只整理通用的关键步骤至于库的引用等不再介绍,直接上代码:

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>>

以上为框架请求的关键代码。亲测有效,上传成功。之后遇到问题再加以补充

最后编辑于 :
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

友情链接更多精彩内容