整理一下,给接触ionic的伙伴们一些参考,少走弯路。

调用手机的前提是已经成功创建了项目。

首先,要下载两个插件,一个是 cordova-plugin-camera,是调用相机的插件,还有一个是NgCordova,具体命令自己百度,网上很多。

下载完NgCordova后,不要忘记在app.js里面添加依赖,其中的ngCordova就是依赖,

var app = angular.module('starter', ['ionic', 'ngCordova','starter.controllers','starter.loginController'
,'starter.zoufang','starter.zaixian',
'starter.tongbao','starter.wentishouji','starter.zhanshiController','starter.zerenController'])

定义调用相机的方法,这里是拍照不能超过九张。

其中options为调用相机时设置的参数,

destinationType为拍摄完成后返回的数据格式,此处为base64编码,
sourceType 为是从相机拍摄还是从相册选择,此处为相机拍摄
saveToPhotoAlbum为是否保存到手机相册中

其中需要注意的是controller中不要忘记添加 $cordovaCamera

其中的图片上传的方法自行忽略,这里为后台给出的方法,

拿到imageData,就可以做一些处理了,不论是上传,还是显示都可以操作了。

 
 1 $scope.getCamera = function(){
2 if($scope.data.y_image.length<9){
3 var options = {
4 quality: 70,
5 destinationType: Camera.DestinationType.DATA_URL,
6 sourceType: Camera.PictureSourceType.CAMERA,
7 //allowEdit: true,
8 encodingType: Camera.EncodingType.JPEG,
9 targetWidth: 480,
10 targetHeight: 720,
11 popoverOptions: CameraPopoverOptions,
12 saveToPhotoAlbum: false
13 };
14 $cordovaCamera.getPicture(options).then(function(imageData) {
15 var imagedata = imageData;
16 $scope.data.isimage = true;
17 $ionicLoading.show({
18 template: '图片上传中...'
19 });
20 client.UpdateImage(imagedata, function (result) {
21 $ionicLoading.hide();
22 $scope.data.y_image.push({'src':"data:image/jpeg;base64," + imageData,'val':'/Yuonhtt_FileUpload/img/'+result});
23 $scope.$digest();
24 }, function (name, err) {
25 alert(err);
26 });
27 }, function(err) {
28 console.log(err);
29 });
30 }else{
31 var confirmPopup = $ionicPopup.alert({
32 title: '提醒',
33 template: '上传图片超过9张!',
34 okText:'确 认',
35 okType:'button-assertive'
36 });
37 confirmPopup.then(function(res) {
38 });
39 }
40
41 };

最新文章

  1. poj2115-C Looooops(扩展欧几里德算法)
  2. ecshop中那些有意思的代码
  3. [CareerCup] 13.7 Node Pointer 节点指针
  4. Centos上的屏幕保护
  5. [转]JAVA中Action层, Service层 ,modle层 和 Dao层的功能区分
  6. [Ruby on Rails系列]5、专题:Talk About SaSS
  7. Git 一些常见的命令
  8. Python学习_03_列表、元组、字符串
  9. react中的this.setState()
  10. Java中栈的应用,括号匹配
  11. python出现编码问题的原因及编码问题的解决
  12. DMA及cache一致性的学习心得 --dma_alloc_writecombine【转】
  13. Weblogic禁用SSLv3和RC4算法教程
  14. 剑指offer十八之二叉树的镜像
  15. ats 转发代理
  16. IT经理苏大强:我不吃,我不喝,我要赶项目!
  17. HDU 5195 DZY Loves Topological Sorting 拓扑排序
  18. JAVA多线程提高十一:同步工具Exchanger
  19. MySQL触发器更新本表数据异常:Can&#39;t update table &#39;tbl&#39; in stored function/trigger because it
  20. 1050 String Subtraction

热门文章

  1. [数据分析与可视化] 数据绘图要点2-Y轴的开始与结束
  2. 数据库服务器CPU不能全部利用原因分析
  3. ArcGIS插件-太乐地图
  4. C++string与int的相互转换(使用C++11)
  5. 算法学习笔记(9): 中国剩余定理(CRT)以及其扩展(EXCRT)
  6. SOFAJRaft依赖框架Disruptor浅析
  7. 动力节点——day01
  8. NLP知识图谱项目合集(信息抽取、文本分类、图神经网络、性能优化等)
  9. File的概述-File类的静态成员变量
  10. 文盘Rust -- 给程序加个日志