cordova-file-transfer上传头像视频教程: http://www.jikexueyuan.com/course/1511_2.html
官网API: http://cordova.apache.org/docs/en/latest/reference/cordova-plugin-camera/index.html
手机抓包详细教程: http://www.cr173.com/html/37625_1.html
上传头像用到cordova两个插件:
1、调用cordova-camera 获取相机或者相册图片,参数设置如下,其中allowEdit:true,可以裁剪图片。
![](https://img.haomeiwen.com/i1347124/d98fa16bed3d56ff.png)
选择完图片后,会初始化之前的页面,此时要注意数据不能丢失。
2、获得图片地址后,调用cordova-file-transfer 上传图片的文件。参数分别为:图片地址,服务器URL加所需参数,成功回调,失败回调,和option。
![](https://img.haomeiwen.com/i1347124/9949555f2bc67db9.png)
遇到两个HTTP-status问题:
1.415:介质类型不受支持 — 服务器拒绝服务请求。通过file-transfer上传的头像是jpeg格式,后台可能只接受把图片编码为base64的json格式,这就需要后台做改变了。
![](https://img.haomeiwen.com/i1347124/e314376557a72889.png)
2、400:由于语法格式有误,服务器无法理解此请求。后台所需要的参数可以用“?”附加在url后面,参数间用“&”连接,
![](https://img.haomeiwen.com/i1347124/299189f00194bd5e.png)
3、关于https
如果服务器Ip地址为https,可能会出现Trust anchor for certification path not found的问题:
![](https://img.haomeiwen.com/i1347124/c012e7b31e1c1aba.png)
此时需要设置file-transfer的第六个参数为true。详见官网
![](https://img.haomeiwen.com/i1347124/e8ca152cc8d0958c.png)
关于HTTP调试:
出现问题可以用抓包的方式查看问题。但一般情况下HTTP-status足以说明问题所在。
参考:
图片压缩:https://github.com/think2011/localResizeIMG
网友评论