Android使用okhttp3和retrofit2进行单文件和多文件上传

Oralie ·
更新时间:2024-11-14
· 1362 次阅读

目录

前言

一、单文件上传

1、apiService中

2、acivity代码

二、多文件上传

 1、apiservice中

2、acivity代码

总结

前言

开发项目中需要进行单文件多文件的上传功能,下面演示的ApiResponse是自己分装的返回值,要根据自己的项目来完成。使用的mvvm框架,kotlin协程。

看下大体思路和传参形式,仅供参考

一、单文件上传 1、apiService中 @Multipart @POST("xxxx/xxx") suspend fun upload( @Part part: MultipartBody.Part, @Query("code") code: String ): ApiResponse<String> 2、acivity代码 val file = File(it) val requestBody: RequestBody = RequestBody.create(MediaType.parse("image/*"), file) val part = MultipartBody.Part.createFormData("file", file.getName(), requestBody) mViewModel.upload(part) 二、多文件上传  1、apiservice中 @POST("xxx/xxxxs") suspend fun uploads( @Body part: MultipartBody, @Query("code") code: String ): ApiResponse<String> 2、acivity代码 val builder = MultipartBody.Builder() builder.setType(MultipartBody.FORM) getDataList()?.filter { !it.filePath.isNullOrEmpty() }.forEach { val file = File(it.filePath) builder.addFormDataPart( "files", file.getName(), RequestBody.create(MediaType.parse("image/jpg"), file) ) } mViewModel.uploads(builder.build()) 总结

 记录总结,要根据自己的框架进行参考改造。

到此这篇关于Android 使用 okhttp3和retrofit2 进行单文件和多文件上传的文章就介绍到这了,更多相关Android 单文件和多文件上传内容请搜索软件开发网以前的文章或继续浏览下面的相关文章希望大家以后多多支持软件开发网!



okhttp retrofit2 retrofit 文件上传 Android

需要 登录 后方可回复, 如果你还没有账号请 注册新账号