2015-12-08 186 views
2

使用http://ngcordova.com/我在嘗試將照片保存到Android圖庫中時遇到問題。ngCordova將照片保存到圖庫

最初,使用以下選項時,文件在拍攝照片後未傳回圖像數據;

var options = { 
    destinationType: Camera.DestinationType.FILE_URI, 
    sourceType: Camera.PictureSourceType.CAMERA, 
    encodingType: Camera.EncodingType.JPEG, 
    correctOrientation: true, 
    saveToPhotoAlbum: true 
}; 

我發現,要解決這個問題,我不得不從0.3.6到0.3.5由於降級的相機插件forum

節省的程序如下;

$cordovaCamera.getPicture(options).then(function (imagePath) { 
    var currentName = imagePath.replace(/^.*[\\\/]/, ''); 
    var d = new Date(), 
    n = d.getTime(), 
    newFileName = n + ".jpg"; 

    //Move the file to permanent storage 
    $cordovaFile.moveFile(cordova.file.externalRootDirectory, currentName, cordova.file.externalRootDirectory + "DCIM/Camera", newFileName).then(function(success){ 
     //sucess 

     }, function(error){ 
      //an error occured 
      //Booooooo 
     }); 

我不想硬編碼路徑,但只是測試,看看我是否可以得到正確的目錄中的照片。我試過了這個post的目錄。

雖然cordova.file.tempDirectory始終爲空,但我在Nexus 5上找到了它。

這是相機插件用於保存到圖庫的錯誤,還是它不僅僅適用於Android。

乾杯任何幫助。

回答

0

我認爲你需要硬編碼cache目錄。

就可以知道,從imagePath

緩存目錄只是刪除文件名,你會得到cache目錄,其中的攝像頭插件保存您的照片,你就只要你想

移動到external目錄之前*我測試過了,在我的情況下,cache目錄是 file:///storage/emulated/0/Android/data/my-app-id/cache