ionic本地相册、拍照、裁剪、上传技巧分享

网络上已有的ionic图片选择上传博客碎片化过于严重,功能残缺或者引入了一些不必要的插件。这次以项目为契机,把ionic的图片选择、裁剪、上传整合一下,多图上传请戳ionic选择多张图片上传。本文主要介绍了ionic本地相册、拍照、裁剪、上传(单图完全版),非常具有实用价值,需要的朋友可以参考下,希望能帮助到大家。

插件安装

cordova plugin add cordova-plugin-camera //用于通过相机、相册选择图片并完成裁剪cordova plugin add cordova-plugin-file-transfer //用于上传图片到服务器

登录后复制

将功能封装为服务

angular.module('starter.services', [])//文件上传.factory('UploadFile', function(Toast) { return { /**  * 上传文件到服务器  *  * @param fileUrl 文件路径  * @param server 服务器接口  */ 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("设置头像成功");  }  function err(error){  Toast.show("上传头像失败,请确保网络正常后再试");  } } }})//配置单张图片选择.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){//图片源设置为相册   options.sourceType = 2;  }  navigator.camera.getPicture(   function(res){   scope.avatar_src = res;   scope.$apply();   localStorage.avatar = res;   UploadFile.uploadFile(res, "我的服务器地址");//传递自己的服务器接口地址   }, 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   }); } }});

登录后复制

调用服务

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: '

拍照

' },  { text: '

从相册选择

' },  ],  buttonClicked: function(index) {  //设置头像  SelectPicture.chooseSinglePicture(index, 120, 120, $scope);  return true;  } }); }})

登录后复制

相关推荐:

ionic多图上传的示例代码分享

ionic3和Angular4实现接口请求及本地json文件读取

使用ionic实现通讯录界面切换实例代码

以上就是ionic本地相册、拍照、裁剪、上传技巧分享的详细内容,更多请关注【创想鸟】其它相关文章!

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至253000106@qq.com举报,一经查实,本站将立刻删除。

发布者:PHP中文网,转转请注明出处:https://www.chuangxiangniao.com/p/2788910.html

(0)
上一篇 2025年3月8日 18:33:12
下一篇 2025年3月8日 18:33:16

AD推荐 黄金广告位招租... 更多推荐

相关推荐

  • Ionic实现验证码倒计时实例分享

    在用户注册的时候,时下不少app都选择了绑定手机号注册,这是一个非常好的想法,便捷用户操作,也很方便遵循实名制的问题,在设计按钮的时候,需要让他显示在输入验证码的旁边,并在用户点击后,开始倒计时,并将按钮变成无法点击效果。本文主要和大家介绍…

    编程技术 2025年3月8日
    200
  • ionic应用里文字不能长按复制、粘贴怎么办

     这次给大家带来ionic应用里文字不能长按复制、粘贴怎么办,解决ionic应用里文字不能长按复制、粘贴的注意事项有哪些,下面就是实战案例,一起来看一下。 项目临近上线,遇到了奇葩问题,ionic中的文字是无法像普通wap页面一样复制粘贴的…

    编程技术 2025年3月8日
    200
  • Vue-cropper对图片进行裁剪步骤详解

    这次给大家带来Vue-cropper对图片进行裁剪步骤详解,Vue-cropper对图片进行裁剪的注意事项有哪些,下面就是实战案例,一起来看一下。 一:裁剪的思路: 1-1,裁剪区域:需要进行裁剪首先需要形成裁剪区域,裁剪区域的大小和我们的…

    2025年3月8日 编程技术
    200
  • ionic实现下拉刷新功能步骤详解

    这次给大家带来ionic实现下拉刷新功能步骤详解,ionic实现下拉刷新功能的注意事项有哪些,下面就是实战案例,一起来看一下。 ionic 下拉刷新 {{good.gname}} //创建模块 var mod = angular.modul…

    编程技术 2025年3月8日
    200
  • 使用ionic实现下拉刷新步骤详解

    这次给大家带来使用ionic实现下拉刷新步骤详解,ionic实现下拉刷新的注意事项有哪些,下面就是实战案例,一起来看一下。 ionic 下拉刷新 {{good.gname}} //创建模块 var mod = angular.module(…

    编程技术 2025年3月8日
    200
  • 使用微信小程序如何实现图片选择区域裁剪

    本篇文章主要介绍了微信小程序图片选择区域屏裁剪实现方法,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧 本文介绍了微信小程序图片选择区域屏裁剪实现方法,分享给大家。具体如下: 效果图 HTML代码   开始裁剪 …

    2025年3月8日
    200
  • 华为P70系列三月亮相:配备IMX989一英寸大底相机

    1月22日消息,据博主“智慧皮卡丘”爆料,华为p70系列目前进度很快,有可能在3月份就会发布。 同时,他还透露华为P70系列会用上IMX989一英寸主摄传感器,在光圈和对焦成像方面都打磨的非常优秀了。 值得注意的是,之前爆料还提到P70会用…

    2025年3月6日
    200
  • 三星S24系列相机存在瑕疵!官方回应:将通过更新进行修复

    2月5日消息,据媒体报道,三星最新发布的galaxy s24系列机型的相机存在着一些细微的问题。 据悉,虽然Galaxy S24系列相机相比Galaxy S23确实有所进步,但依然存在低光环境下天空出现噪点和条纹、日光环境下轻微过曝、低光环…

    2025年3月6日
    200
  • 荣耀90GT怎么拍照更清晰?

    php小编香蕉荣耀90GT作为一款颇受欢迎的手机,拥有出色的拍照功能。想要拍出更清晰的照片,有几个小技巧可以帮助你。首先,确保环境光线充足,这样可以提高照片的亮度和细节。其次,稳定手机,使用三脚架或者支架可以减少抖动,使照片更清晰。另外,合…

    2025年3月6日
    200
  • iPhone拍烟花模式火了!原相机这样设置出片刷爆朋友圈

    2月9日消息,爆竹声声,烟花绽放,祝大家除夕快乐。 又到了放烟花的时候,很多人都会掏出手机拍几张照片分享到朋友圈,如果你用的是国产智能机,拍照基本都会有AI优化,让烟花效果更出众。 手持iPhone的用户如何拍出烟花大片呢? 今晚,词条#i…

    2025年3月6日 互联网
    200

发表回复

登录后才能评论