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开发签名知识梳理总结

    Android开发签名知识梳理总结

    这篇文章主要介绍了Android开发签名知识梳理总结,Android 系统要求所有 APK 必须先使用证书进行数字签名,然后才能安装到设备上进行更新
    2022-06-06
  • Android实现多线程下载图片的方法

    Android实现多线程下载图片的方法

    这篇文章主要为大家详细介绍了Android实现多线程下载图片的方法,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2016-09-09
  • Android Activity被回收的情况分析

    Android Activity被回收的情况分析

    Activity作为Android四大组件之一,他的启动绝对没有那么简单。这里涉及到了系统服务进程,启动过程细节很多,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值
    2022-11-11
  • FlowLayout流式布局实现搜索清空历史记录

    FlowLayout流式布局实现搜索清空历史记录

    这篇文章主要为大家详细介绍了FlowLayout流式布局实现搜索清空历史记录,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2018-12-12
  • Android编程开发音乐播放器实例

    Android编程开发音乐播放器实例

    这篇文章主要介绍了Android编程开发音乐播放器,结合实例形式分析了Android音乐播放器开发所涉及的SeekBar,ListView,广播接收者(以代码的形式注册Receiver),系统服务,MediaPlayer等技巧,需要的朋友可以参考下
    2016-01-01
  • Android下拉阻尼效果实现原理及简单实例

    Android下拉阻尼效果实现原理及简单实例

    这篇文章主要为大家详细介绍了Android下拉阻尼效果实现原理及简单实例,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2019-06-06
  • android ImageView 的几点经验总结

    android ImageView 的几点经验总结

    本篇文章是对android中ImageView的使用技巧进行了几点经验总结,需要的朋友参考下
    2013-06-06
  • Android自定义SeekBar实现视频播放进度条

    Android自定义SeekBar实现视频播放进度条

    这篇文章主要为大家详细介绍了Android自定义SeekBar实现视频播放进度条的相关资料,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2017-03-03
  • Android自定义WaveProgressView实现水波纹加载需求

    Android自定义WaveProgressView实现水波纹加载需求

    这篇文章主要为大家详细介绍了Android自定义WaveProgressView实现水波纹加载需求,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2017-09-09
  • 基于Android studio3.6的JNI教程之ncnn之语义分割ENet

    基于Android studio3.6的JNI教程之ncnn之语义分割ENet

    这篇文章主要介绍了基于Android studio3.6的JNI教程之ncnn之语义分割ENet的相关知识,本文通过实例代码给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值 ,需要的朋友可以参考下
    2020-03-03

最新评论