ionic 拍照、相册并上传至又拍云
2015-07-03 17:51
316 查看
简单的项目开始:
添加平台
ionic start camera-upload blank
添加平台
ionic platform add ios # 需要mac环境 ionic platform add android添加必要的插件
MacBook:camera-upload jiang$ cat RAEDME.md # 摄像头插件 ionic plugin add org.apache.cordova.camera # 文件上传、下载插件(自动安装File插件) ionic plugin add org.apache.cordova.file-transfer # 相册 ionic plugin add https://github.com/wymsee/cordova-imagePicker.git[/code]
摄像头插件用法比较简单:
navigator.camera.getPicture(function(result) { q.resolve(result); }, function(err) { q.reject(err); }, options);相册也是如此:$cordovaImagePicker.getPictures(options).then(function(results) { var uri = results[0], name = uri; if (name.indexOf('/')) { var i = name.lastIndexOf('/'); name = name.substring(i + 1); } }, function(error) { alert(error); });文件上传:var ft = new FileTransfer(); ft.upload(fileURL, '服务器地址', function(data) { // 响应数据 var resp = JSON.parse(data.response); }, function(error) { $ionicLoading.hide(); }, options);
由于存储采用Upyun,所以使用Upyun的Form-APi就可以直接上传至又拍云服务器。唯一需要先从某个服务器上获得又拍云的文件认证信息。这里采用jsonp实现:
/** * Upyun认证数据 */ .factory('Upyun', function($http) { return { token: function(name, size) { return $http.jsonp("http://transfer.impress.pw/upyun?callback=JSON_CALLBACK", { cache: false }); } } })
最后打包成APP就可以直接运行。(注意:不要滥用文中提供的Upyun上传服务,否则我会关闭。)
项目地址:http://git.oschina.net/jiangdx/ionic-apps/tree/master/camera-upload
根据READMD.md来安装插件。
附上app截图:
相关文章推荐
- 单链表的C++的实现
- 图像处理与计算机视觉基础,经典以及最近发展
- iOS中时间相关的类与方法
- Mac中Android Studio的SVN使用详解
- Kotlin教程学习-数据类型
- jq的“钉”插件--jquery.pin.js
- 关于Linux内核编译失败的一些解决方案
- Apache无法启动解决 the requested operation has failed
- 欢迎使用CSDN-markdown编辑器
- Android中Activity与Fragment的生命周期
- 各种电平的理解
- 升余弦滚降滤波器的仿真
- 利用javascript Location访问Url,重定向,刷新页面
- 车品觉 : 数据十诫
- 多路复用IO模型
- hdu 5274 Dylans loves tree && BestCoder Round #45
- php 连接 mysql 代码
- android-进阶(3)-自定义view(2)-Android中View绘制流程以及相关方法的分析
- 10种不同类型的移动UI设计模式
- 简单的拨号器——四种方式实现监听器