野人学Android第二弹——图片上传到服务器的基础原理
来源:互联网 发布:做照片的软件 编辑:程序博客网 时间:2024/05/16 05:04
工欲善其事必先利其器,在进行代码编写之前,来研究下手机客户端是如何将图片上传到服务器端的吧。
图片也是文件的一种,其上传的协议是基于HTTP的,所以来看下普通网页上传图片的时候,其HTTP发生了什么变化。
我用php新建了一个具有上传图片功能的网页,并且在Chrome浏览器中运行,进行图片上传。利用Chrome的开发者工具进行调试,出现了上面的内容。Headers的内容有点多,我将重点用红圈画了出来。
第一个红圈中,记住boundary后面的一串字符,这是Chrome浏览器的字段分隔符,是不同上传内容之间的分隔符。不同的浏览器,其分隔符是不一样的。Request Headers中的内容是基本信息,其中红圈内的内容是比较重要的。
第二个红圈中,Request Payload的内容就是要上传的文件内容。“----WebKitFormBoundarySj2Wjtn2OCo0XNMl”中间的内容就是我上传的文件,可以看到文件的类型,以及filename等信息,其中"name"在服务器端接收文件的时候,是比较重要的,这里先记住。
Android的客户端上传图片的功能是依据上面的原理实现的,构建一个HTTP的header,发送到服务器,然后通过服务器端的接收,实现图片的上传。
图片上传的原理就这么简单,大家心里有个数就行了。下一篇博文,就具体的功能实现,进行代码讲解。其难点就在于Android端的headers信息流的构建,以及服务器(php)的文件接收。
0 0
- 野人学Android第二弹——图片上传到服务器的基础原理
- 野人学Android第二弹——单张图片的上传
- 野人学Android第二弹——多张图片批量上传
- 野人学Android第二弹——主线程传递消息到次线程的摸索
- 野人学Android基础篇之网络通讯第二课--本地apache服务器与Android的连接
- 野人学Android第二弹——Handler与Thread之间的关系
- 野人学Android第二弹——自定义控件的分析与实例
- 野人学Android第二弹——利用Zxing实现二维码效果的步骤讲解
- 野人学Android第二弹——照片的拍摄与存储(一)
- 野人学Android第二弹——照片的拍摄与存储(二)
- 野人学Android第二弹——自定义ListView第二课
- 野人学Android第二弹——自定义ListView第一课
- 野人学Android第二弹——AutoCompleteTextView自动搜索数据库
- 野人学Android基础篇之HelloWorld程序第二课--Manifest.xml的不完全解释
- 野人学Android第二弹——多Activity之间的生命周期的规律摸索及多个Activity同时销毁的实现
- 野人学Android基础篇之初探UI控件第二课--ImageView静态赋值
- 野人学Android基础篇之初探UI控件第二课--ImageView动态赋值
- 野人学Android基础篇之异步任务第一课--AsyncTask原理简介及例子
- 所感所悟
- 意外II(数论)
- Maven+Spring+Spring MVC+MyBatis+MySQL,搭建SSM框架环境
- Android四大组件详解
- 文章标题
- 野人学Android第二弹——图片上传到服务器的基础原理
- 调用SM30代码
- 11月第二个项目总结
- STL容器\vector学习随笔
- wireshark二次开发
- 关于java中敏感词检测的一些总结
- 测试页面刷新帧率的python脚步
- HDU 2054 A==B?
- hdu Repositoryti