首頁 web前端 js教程 ionic本地相册、拍照、裁剪、上传技巧分享

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

Jan 25, 2018 pm 01:03 PM
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: &#39;<p style="font-size: 18px;">拍照<p>&#39; },
  { text: &#39;<p style="font-size: 18px;">从相册选择<p>&#39; },
  ],
  buttonClicked: function(index) {
  //设置头像
  SelectPicture.chooseSinglePicture(index, 120, 120, $scope);
  return true;
  }
 });
 }
})
登入後複製

相關推薦:

ionic多圖上傳的範例程式碼分享

ionic3和Angular4實作介面請求及本機json檔讀取

##使用ionic實作通訊錄介面切換實例代碼#

以上是ionic本地相册、拍照、裁剪、上传技巧分享的詳細內容。更多資訊請關注PHP中文網其他相關文章!

本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn

熱AI工具

Undresser.AI Undress

Undresser.AI Undress

人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover

AI Clothes Remover

用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool

Undress AI Tool

免費脫衣圖片

Clothoff.io

Clothoff.io

AI脫衣器

Video Face Swap

Video Face Swap

使用我們完全免費的人工智慧換臉工具,輕鬆在任何影片中換臉!

熱工具

記事本++7.3.1

記事本++7.3.1

好用且免費的程式碼編輯器

SublimeText3漢化版

SublimeText3漢化版

中文版,非常好用

禪工作室 13.0.1

禪工作室 13.0.1

強大的PHP整合開發環境

Dreamweaver CS6

Dreamweaver CS6

視覺化網頁開發工具

SublimeText3 Mac版

SublimeText3 Mac版

神級程式碼編輯軟體(SublimeText3)

我該如何裁剪HTML中的IFrame? 我該如何裁剪HTML中的IFrame? Aug 29, 2023 pm 04:33 PM

內嵌框架在HTML中稱為iframe。標籤指定內容中的一個矩形區域,瀏覽器可以在其中顯示帶有捲軸和邊框的不同文件。若要在目前HTML文檔中嵌入另一個文檔,請使用內嵌框架。可以使用HTMLiframe名稱屬性指定元素的參考。在JavaScript中,對元素的參考也是使用name屬性進行的。 iframe本質上用於在目前顯示的網頁中顯示網頁。包含iframe的文件的URL使用「src」屬性指定。語法以下是HTML的語法<iframesrc="URL"title="d

小米14怎麼設定拍照浮水印? 小米14怎麼設定拍照浮水印? Mar 18, 2024 am 11:00 AM

為了讓拍攝出的照片更具個性和獨特性,小米14提供了拍照水印設定。透過設定拍照浮水印,使用者可以在拍攝的照片上添加圖案、文字和標誌,使得每一張照片都能更好地記錄下珍貴的時刻和回憶。接下來,我們將介紹如何在小米14中設定拍照浮水印,讓您的照片更加個人化和生動。小米14怎麼設定拍照浮水印? 1.首先點選“相機”。 2、然後點選「設定」。 3.接著找到浮水印,隨後就可以開始拍攝了。

iPhone拍煙火模式火了!原相機這樣設定出片刷爆朋友圈 iPhone拍煙火模式火了!原相機這樣設定出片刷爆朋友圈 Feb 12, 2024 pm 07:00 PM

2月9日消息,爆竹聲聲,煙火綻放,祝大家除夕快樂。又到了放煙火的時候,很多人都會拿出手機拍幾張照片分享到朋友圈,如果你用的是國產智慧型機,拍照基本上都會有AI優化,讓煙火效果更出眾。手持iPhone的用戶如何拍出煙火大片呢?今晚,詞條#iPhone拍煙火模式#登上微博熱搜榜,引來許多網友圍觀。其實,所謂的iPhone「煙火模式」就是在影片模式下同時拍照。首先,開啟iPhone自帶的相機,切換到「影片」模式,點選右上角參數,將解析度調整為4K、幀數調至60fp

蘋果13拍照不清晰怎麼回事「最新iPhone拍照模糊解決方法」 蘋果13拍照不清晰怎麼回事「最新iPhone拍照模糊解決方法」 Feb 06, 2024 pm 10:46 PM

為拍攝對象設定好焦距設定不當是照片模糊的常見原因之一,也會受到光線影響。大多數人通常使用自動對焦拍攝,效果通常還不錯。然而,自動對焦​​有時會令人失望,導致類似以上照片的影像。為了獲得最佳效果,你可以在iPhone自備相機應用中觸按螢幕進行手動焦距設定。充足的光線充足的光線不僅可以讓你獲得更清晰的照片,也會提高照片的質感,無論是拍攝風景還是人像,都應該保證iPhone鏡頭下的充足光線,當快門開啟時間越長,動作可能越多也就會導致模糊,一般場景選擇在室內光線充足的地方或室外自然光充足的地方進行

激萌拍照怎麼去水印呢? faceu激萌拍照浮水印關閉教學! 激萌拍照怎麼去水印呢? faceu激萌拍照浮水印關閉教學! Mar 15, 2024 pm 08:20 PM

一、激萌拍照怎麼去水印呢? faceu激萌拍照浮水印關閉教學! 1.打開手機裡的Faceu激萌APP,點選拍攝圖示。 2.進入拍攝介面後,選擇三點圖示。 3.然後在彈出的面板中,點選相機設定。 4.跳轉頁面後,選擇浮水印設定。 5.最後在浮水印設定頁面,點選關閉浮水印即可。

photoshop怎麼把歪的圖片裁成正的? ps裁剪傾斜照片教程 photoshop怎麼把歪的圖片裁成正的? ps裁剪傾斜照片教程 Mar 25, 2024 pm 10:07 PM

  有些用戶發現圖片上的某些東西是歪的,沒辦法直接框選裁剪,想知道有沒有什麼方法可以把圖片上的東西擺正呢?其實這個操作對於ps高手來說非常簡單,這裡小編給ps小白用戶講講photoshop把歪的圖片裁剪成正的,這個方法很容易操作,希望能幫到大家。  ps裁切傾斜照片教學  1、打開Photoshop,滑鼠移至左側的裁切工具,然後點選滑鼠右鍵,選擇「透視剪切工具」。  2、選擇需要擺正的圖片,確定好四個點。  3、然後按下回車鍵,即可成功地擺正。  4、這樣一來照片上的東西就變正了,而

iOS 17:如何在照片中使用一鍵裁剪 iOS 17:如何在照片中使用一鍵裁剪 Sep 20, 2023 pm 08:45 PM

透過iOS17照片應用,Apple可以更輕鬆地根據您的規格裁剪照片。繼續閱讀以了解如何操作。以前在iOS16中,在「照片」應用程式中裁剪圖像涉及幾個步驟:點擊編輯介面,選擇裁剪工具,然後透過捏合縮放手勢或拖曳裁剪工具的角落來調整裁剪。在iOS17中,值得慶幸的是,蘋果簡化了這個過程,這樣當你放大照片庫中任何選定的照片時,一個新的「裁剪」按鈕會自動出現在螢幕的右上角。點擊它會彈出完整的裁剪介面,其中包含您選擇的縮放級別,因此您可以裁剪到您喜歡的圖像部分,旋轉圖像,反轉圖像,或應用螢幕比例,或使用標記

如何在uniapp中實現相機拍照功能 如何在uniapp中實現相機拍照功能 Jul 04, 2023 am 09:40 AM

如何在uniapp中實現相機拍照功能現在的手機功能越來越強大,幾乎每支手機都配備了高像素的相機。在UniApp中實現相機拍照功能,可以為你的應用程式增添更多的互動性和豐富性。本文將針對UniApp,介紹如何使用uni-app插件來實現相機拍照功能,並提供程式碼範例供參考。一、安裝uni-app插件首先,我們需要安裝一個uni-app的插件,該插件可以方便地在u

See all articles