簡體   English   中英

ionic navigator.camera.getPicture不會從PHOTOLIBRARY返回圖像

[英]ionic navigator.camera.getPicture won't return image from PHOTOLIBRARY

我已經在我的離子應用程序中添加了cordova-plugin-camera插件,以便同時使用它的兩個附件-使用相機拍照並從照片庫中獲取圖像。

使用相機拍照在我的android galaxy s3設備上可以完美工作,但是從圖庫中獲取圖像會在成功結果函數中返回NULL。

我已經嘗試過使用此處描述的$ cordovaCamera.getPicture和示例中的navigator.camera.getPicture,在我在設備上選擇圖像后,兩者都返回null作為成功方法中的結果參數。

我嘗試使用所有參數,嘗試獲取destinationType的3個選項(DATA_URL,FILE_URL,NATIVE_URI)中的任何一個,嘗試保存/取消保存到圖庫,編輯/取消編輯,jpeg的編碼類型顯式,mediaType PICTURE等..他們都沒有使用PHOTOLIBRARY或SAVEDPHOTOALBUM,但是使用CAMERA可以正常工作

這是我寫的代碼:

版本1:

    var options = {
  destinationType: Camera.DestinationType.FILE_URI,
  sourceType: Camera.PictureSourceType.PHOTOLIBRARY,
  correctOrientation: true,
  allowEdit: true
};

$cordovaCamera.getPicture(options)
.then(function (imageURI) {
    if (!imageURI) {
      console.log('getPicture: no image selected');
      return;
    }
    // upload image to server code goes here
  });

版本2:

    navigator.camera.getPicture(onSuccess, onFail, 
  { 
    destinationType: Camera.DestinationType.FILE_URI,
    sourceType: Camera.PictureSourceType.PHOTOLIBRARY,
    correctOrientation: true,
    allowEdit: true
});

function onSuccess(imageData) {
  console.log(imageData);
  // upload image to server code goes here
}

function onFail(message) {
    alert('Failed because: ' + message);
}

誰能建議可能是什么問題? (為什么imageURI / imageData為null)也許我錯過了某個地方的配置? 我沒主意..

我曾在Ionic框架論壇上問過同樣的問題,fajohann回答說,當他安裝了舊版本的插件時,它運行良好。 我自己嘗試過,一個接一個地安裝以前的版本,直到我開始工作為止。 我發現支持android的最新版本(選擇圖像時不返回NULL)是v1.2.0

為了安裝它,您應該運行以下命令:

離子插件添加cordova-plugin-camera@1.2.0

使用舊版本的插件不是一個好的解決方案,當無法解決問題時,您必須在http://issues.cordova.io上打開一個問題,並提供您可以提供的所有相關信息,以便開發人員可以發布並修復它。

幸運的是,有人報告了這個問題https://issues.apache.org/jira/browse/CB-10625 ,該問題已得到解決。

更改將在插件的2.1.1版本上可用,但尚未發布。 同時,您可以從github網址安裝插件

ionic plugin add https://github.com/apache/cordova-plugin-camera

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM