Android客户端多文件上传
16lz
2021-01-25
在web开发中,多文件上传时是非常方便的,直接使用Http协议提交数据即可。格式如下:
但是在Android客户端中,如果文本和文件一起上传时就比较麻烦,需要对Http协议很熟悉才可以做到的。
一、HTTP协议
HTTP协议是一个很很复杂的过程,我们在做web开发时,底层其实都已经封装好了,可以使用即可,我们所需要做的就是对HTTP请求格式很熟悉。 HTTP协议分为 请求方法 URI 协议 / 版本,请求头,请求体。GET/sample.jspHTTP/1.1 //请求方法/请求路径/协议版本Accept:image/gif.image/jpeg,*/* Accept-Language:zh-cnConnection:Keep-AliveHost:localhostUser-Agent:Mozila/4.0(compatible;MSIE5.01;Window NT5.0)Accept-Encoding:gzip,deflateusername=jinqiao&password=1234
这是一个完整的HTTP请求。 请求的协议头主要包括以下一些内容: 请求头和请求体中间有一个空格,这个空格表示请求头已经结束,下面的是请求体。 响应头: 这即为整个的HTTP请求。 二、Android中的多文件上传
Android中使用HTTP GET或者POST方法提交数据在前文已经介绍过了。代码在struts上传文件一文中已经贴出来了。
在代码中 ,我们需要自己动手完整的构造出整个HTTP请求的格式。 但有一个不同的地方; 首先是Content-Type:multipart/form-data;boundary=---------------------------7da2137580612; 因为表单类型为: multipart/form-data,上传文件使用的不在是HTTP协议,不在是name="--"的方式了,而是使用 分隔符 字段内容 分隔符 字段内容 比如: 请求头 ---------------------------7da2137580612
Content-Disposition:form-data;name=“username”
zhuzg
---------------------------7da2137580612 Content-Disposition:form-data;name=“image”;filename=“123.jpg” Content-Type:application/octet-stream
---------------------------7da2137580612----------- //结束标志
(P.S.:后来在别的地方看到一篇类似的文章,附上链接: HTTP基础知识)
更多相关文章
- Android(安卓)m6.0权限问题调用封装utils类 - Permission in Andr
- 安卓开发之解决JS不能调用Android方法填坑
- Android(安卓)Data Binding
- Android大厂一面面试:记录第一次跳槽经历
- Android中的消息机制——Looper、Handler、MessageQueue与Messag
- Android(安卓)集成支付宝SDK实现快捷支付--详解
- Android下利用SharePreference存储序列化对象的方法
- Android(安卓)PNG渐变背景图片失真问题
- Android面试(13): Android(安卓)中返回数据给上一个活动---start