Android 使用 okhttp3和retrofit2 进行单文件和多文件上传
更新时间:2022年10月27日 10:48:14 作者:_MWY
这篇文章主要介绍了Android 使用 okhttp3和retrofit2 进行单文件和多文件上传,开发项目中需要进行单文件多文件的上传功能,下面演示的ApiResponse是自己分装的返回值,要根据自己的项目来完成,需要的朋友可以参考下

前言
开发项目中需要进行单文件多文件的上传功能,下面演示的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 单文件和多文件上传内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!
相关文章
Android ExpandableListView单选以及多选实现代码
这篇文章主要为大家详细介绍了Android ExpandableListView单选以及多选的实现代码,具有一定的参考价值,感兴趣的小伙伴们可以参考一下2018-06-06
Android画图实现MPAndroidchart折线图示例详解
这篇文章主要为大家介绍了Android画图实现MPAndroidchart折线图示例详解,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪2022-07-07
探讨Android 的屏幕滚动操作不如 iPhone 流畅顺滑的原因
虽然很多Android手机的配置都比iPhone要高,比如大多数Andorid手机的内存都有1GB,而iPhone 4S只有512MB内存,但用过iPhone的人都知道Android手机在使用的时候总感觉没有那么顺滑,究竟为什么会出现这种现象呢?2014-07-07
Android基础总结篇之三:Activity的task相关介绍
这篇文章主要介绍了Android基础总结篇之三:Activity的task相关介绍,具有一定的参考价值,有需要的可以了解一下。2016-11-11


最新评论