最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

詳解ionic本地相冊、拍照、裁剪、上傳(單圖完全版)

 更新時間:2017年10月10日 14:59:21   作者:雨末畫橋  
本篇文章主要介紹了ionic本地相冊、拍照、裁剪、上傳(單圖完全版),非常具有實用價值,需要的朋友可以參考下

網(wǎng)絡(luò)上已有的ionic圖片選擇上傳博客碎片化過于嚴重,功能殘缺或者引入了一些不必要的插件。這次以項目為契機,把ionic的圖片選擇、裁剪、上傳整合一下,多圖上傳請戳ionic選擇多張圖片上傳

插件安裝

cordova plugin add cordova-plugin-camera //用于通過相機、相冊選擇圖片并完成裁剪
cordova plugin add cordova-plugin-file-transfer //用于上傳圖片到服務(wù)器

將功能封裝為服務(wù)

angular.module('starter.services', [])

//文件上傳
.factory('UploadFile', function(Toast) {
 return {
 /**
  * 上傳文件到服務(wù)器
  *
  * @param fileUrl 文件路徑
  * @param server 服務(wù)器接口
  */
 uploadFile: function(fileUrl, server) {
  document.addEventListener("deviceready", onDeviceReady, false);
  function onDeviceReady() {
  var options = new FileUploadOptions();
  options.fileKey = "BeanYon";
  options.fileName = fileUrl.substr(fileUrl.lastIndexOf('/') + 1);
  options.mimeType = "image/jpeg";
  options.chunkedMode = false;

  var params = {account: localStorage.account};
  options.params = params;

  var ft = new FileTransfer();
  ft.upload(fileUrl, 
     encodeURI(server), 
     success, 
     err, 
     options);
  }

  function success(r){
  Toast.show("設(shè)置頭像成功");
  }

  function err(error){
  Toast.show("上傳頭像失敗,請確保網(wǎng)絡(luò)正常后再試");
  }
 }
 }
})

//配置單張圖片選擇
.factory('SelectPicture', function(UploadFile, Toast) {
 return {
 /**
  * 從相機或圖庫選擇一張圖片
  * 
  * @param type 選擇類型,0 拍照,1 相冊
  * @param width 目標寬度
  * @param height 目標高度
  * @param scope $scope對象
  */
 chooseSinglePicture: function(type, width, height, scope) {
  document.addEventListener("deviceready", onDeviceReady, false);
  function onDeviceReady() {
  var options = {//相機配置
   targetWidth: width,
   targetHeight: height,
   quality: 100,
   allowEdit: true
  }

  if(type == 1){//圖片源設(shè)置為相冊
   options.sourceType = 2;
  }

  navigator.camera.getPicture(
   function(res){
   scope.avatar_src = res;
   scope.$apply();
   localStorage.avatar = res;
   UploadFile.uploadFile(res, "我的服務(wù)器地址");//傳遞自己的服務(wù)器接口地址
   }, function(res){
   Toast.show("選擇頭像失敗");
   }, options
  );
  }
 },

 /**
  * 從圖庫選擇多張圖片
  */
 choosePictures: function() {
  window.imagePicker.getPictures(function(res){
  alert(res+",success");
  }, function(res){
  alert(res+",failed");
  }, {
  maximumImagesCount: 10, 
  width: 80, 
  height: 80, 
  quality: 80 
  });
 }
 }
});

調(diào)用服務(wù)

angular.module('starter.controllers', [])
.controller('MyCtrl', function($scope, $state, $ionicActionSheet, UploadFile,Toast, SelectPicture) {
 $scope.avatar_src = "img/default_avatar.jpg";

 /**
 *選擇頭像
 */
 $scope.selectAvatar = function(){
 // 顯示操作表
 $ionicActionSheet.show({
  buttons: [
  { text: '<p style="font-size: 18px;">拍照<p>' },
  { text: '<p style="font-size: 18px;">從相冊選擇<p>' },
  ],
  buttonClicked: function(index) {
  //設(shè)置頭像
  SelectPicture.chooseSinglePicture(index, 120, 120, $scope);
  return true;
  }
 });
 }
})

以上就是本文的全部內(nèi)容,希望對大家的學習有所幫助,也希望大家多多支持腳本之家。

相關(guān)文章

  • AngularJS與BootStrap模仿百度分頁的示例代碼

    AngularJS與BootStrap模仿百度分頁的示例代碼

    分頁在很多時候都能用到,這篇文章主要介紹了AngularJS與BootStrap模仿百度分頁的示例代碼,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2018-05-05
  • AngularJS入門教程之控制器詳解

    AngularJS入門教程之控制器詳解

    本文主要介紹 AngularJS控制器,這里對 AngularJS控制器的知識詳細講解,并提供實例代碼有需要的小伙伴可以參考下
    2016-07-07
  • Angular依賴注入系統(tǒng)里Injection token PLATFORM_ID使用場景詳解

    Angular依賴注入系統(tǒng)里Injection token PLATFORM_ID使用場景詳解

    這篇文章主要為大家介紹了Angular依賴注入系統(tǒng)里Injection token PLATFORM_ID使用場景詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪
    2023-11-11
  • 在AngularJS中如何使用谷歌地圖把當前位置顯示出來

    在AngularJS中如何使用谷歌地圖把當前位置顯示出來

    這篇文章給的大家介紹在AngularJS中如何使用谷歌地圖把當前位置顯示出來,本文介紹的非常詳細,具有參考借鑒價值,對angularjs 谷歌地圖相關(guān)知識感興趣的朋友一起學習吧
    2016-01-01
  • AngularJS基礎(chǔ) ng-model-options 指令簡單示例

    AngularJS基礎(chǔ) ng-model-options 指令簡單示例

    本文主要介紹AngularJS ng-model-options 指令,這里對ng-model-options指令的基本資料進行整理,有需要的小伙伴可以參考下
    2016-08-08
  • angularjs實現(xiàn)table增加tr的方法

    angularjs實現(xiàn)table增加tr的方法

    下面小編就為大家分享一篇angularjs實現(xiàn)table增加tr的方法,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2018-02-02
  • AngularJs 最新驗證手機號碼的實例,成功測試通過

    AngularJs 最新驗證手機號碼的實例,成功測試通過

    下面小編就為大家分享一篇AngularJs 最新驗證手機號碼的實例,成功測試通過,具有很好的參考價值。希望對大家有所幫助。一起跟隨小編過來看看吧
    2017-11-11
  • AngularJS使用Filter自定義過濾器控制ng-repeat去除重復功能示例

    AngularJS使用Filter自定義過濾器控制ng-repeat去除重復功能示例

    這篇文章主要介紹了AngularJS使用Filter自定義過濾器控制ng-repeat去除重復功能,結(jié)合實例形式分析了AngularJS自定義過濾器的定義及數(shù)組過濾相關(guān)操作技巧,需要的朋友可以參考下
    2018-04-04
  • 詳解Angular之路由基礎(chǔ)

    詳解Angular之路由基礎(chǔ)

    單頁應用中,組件時構(gòu)建應用的基礎(chǔ)元素,頁面展示什么內(nèi)容均是靠頁面有什么組件決定的,而展示什么組件又是由一組路由(帶有Url元素的特定集合,可用于導航視圖)決定的,希望本文可以幫助讀者了解路由的基礎(chǔ)概念和基礎(chǔ)使用、寫法。
    2021-05-05
  • AngularJS 過濾器的簡單實例

    AngularJS 過濾器的簡單實例

    本文主要介紹AngularJS 過濾器,這里提供詳細了AngularJS 過濾器詳細資料,并提供簡單實例,有需要的朋友可以參考下
    2016-07-07

最新評論

安丘市| 通化市| 南投县| 东安县| 平山县| 教育| 柳河县| 林甸县| 上饶市| 景洪市| 红安县| 堆龙德庆县| 江山市| 寿光市| 西丰县| 内丘县| 曲阳县| 麻栗坡县| 萨嘎县| 岐山县| 厦门市| 肇源县| 开远市| 深州市| 新野县| 潞城市| 桂林市| 河北区| 上蔡县| 丁青县| 宁波市| 江门市| 布尔津县| 方山县| 新乡县| 东乡族自治县| 政和县| 武鸣县| 延边| 德保县| 芒康县|