ionic混合開發總結之調用手機相機

來源:互聯網
上載者:User

標籤:gty   text   bsp   conf   confirm   外掛程式   參考   rdo   logs   

整理一下,給接觸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: false13         };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     };

 

ionic混合開發總結之調用手機相機

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.