Android 使用 okhttp3和retrofit2 进行单文件和多文件上传
目录
前言
一、单文件上传
二、多文件上传
总结
前言
开发项目中需要进行单文件多文件的上传功能,下面演示的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开发笔记(一百一十)使用http框架上传文件
HTTP上传 与文件下载相比,文件上传的场合不是很多,通常用于上传用户头像.朋友圈发布图片/视频动态等等,而且上传文件需要服务器配合,所以容易被app开发者忽略.就上传的形式来说,app一般采用htt ...
- php利用上传文件,如何利用PHP上传文件
上载文件表单 请选择文件: $upload_file=$_FILES['upload_file']['tmp_name']; $upload_file_name=$_FILES['upload_fil ...
- ajax请求多张图片数据库,ajax上传多文件,一次上传多张图片
ajax上传多文件,一次上传多张图片 作者:PHPYuan 时间:2018-11-04 03:41:44 使用ajax上传文件,指望这个对象:let fd = new FormData(); html ...
- node将当前文件上传到服务器,以编程方式将文件从node.js上传到另一个Web服务器...
我需要将文件从node.js应用程序推送到其他地方运行的Web服务器,该服务器通过典型的上载机制接受文件.例如,假设接收服务器有一个网页,这样的形式:以编程方式将文件从node.js上传到另一个Web ...
- 求大师点化,寻求大文件(最大20G左右)上传方案
之前仿造uploadify写了一个HTML5版的文件上传插件,没看过的朋友可以点此先看一下~得到了不少朋友的好评,我自己也用在了项目中,不论是用户头像上传,还是各种媒体文件的上传,以及各种个性的业务需 ...
- 关于OneThink后台附件上传无法保存文件id或无法上传问题
关于OneThink后台附件上传无法保存文件id或无法上传问题 在使用OneThink进行项目开发的时候,遇到使用内置的上传附件功能时,无法保存相应的file_id,导致上传文件成功,但是数据库中对应 ...
- obs上传文件到服务器,obs上传文件到指定路径
obs上传文件到指定路径 内容精选 换一换 需提前准备好OBS桶名.vi /opt/huawei/obsutil_adapter/obsutil_adapter.cfgbackup_path和back ...
- ajax上传多文件和数据,Ajax上传数据和上传文件(三种方式)
Ajax向后端发送数据可以有三种方式:原生Ajax方式,jQuery Ajax方式,iframe+form 方式(伪造Ajax方式) Title .btn { background-color: co ...
- Web.Config文件配置之限制上传文件大小和时间
在邮件发送系统或者其他一些传送文件的网站中,用户传送文件的大小是有限制的,因为这样不但可以节省服务器的空间,还可以提高传送文件的速度.下面介绍如何在Web.Config文件中配置限制上传文件大小与时间 ...
最新文章
- #51CTO学院四周年#让学习成为习惯
- 20 个 jQuery 超酷视觉效果构建教程推荐
- boost::mpl::vector用法的测试程序
- 原理_JS引擎对未声明变量的处理
- intellij存放插件的路径(转载)
- openmv串口发送数据_关于arduino和openmv串口通信的问题
- chrome 浏览器全屏操作
- linux下载命令 scp,linux命令详解之scp命令
- UniqueIdentifier 数据类型
- Kepware软件使用手册
- 漏洞补丁:漏洞命名(CVE和CNNVD)及补丁查找
- 转福布斯荐75本经商必读
- 教你自动识别快递公司,过滤重复单号,查询物流信息
- 刀片服务器性能对比,刀片服务器对比-刀锋上的较量
- 预训练模型 Fine-tuning
- 孙悟空吃蟠桃c语言编程,孙悟空吃蟠桃歇后语
- 从来只留一场梦 一场春梦成白头 上软疑似解体 忆仙剑而作
- tp框架配置路由的初学习
- 16进制 转为图片 php_十六进制编辑器(010 Editor)官方版下载_十六进制编辑器(010 Editor) v11.0中文汉化版64位...
- linux用信号写代码,Python 信号(linux) 源代码放附件中
热门文章
- ios 键盘弹出后马上收回_ios12键盘唤起后,收回键盘弹窗错位解决方案
- oracle中spool卸数,数据卸载--spool的使用
- EWSTM8系列教程03_主窗口、工具栏的概述
- r510服务器开机无显示,联想B320i开机无显示维修案例
- 计算机硬件系统的外观组成图,计算机硬件系统及组装.doc
- Python的优点与缺点
- webRTC(六):webrtc信令服务器实现
- java ctr_java – CTR模式使用初始向量(IV)
- emacs常用操作笔记
- c# 调用zebra打印指令 打印到USB端口