2016-09-15 51 views
1

使用此功能,我可以從手機庫獲取圖像的uri。使用cordova-plugin-camera將URI圖像轉換爲base64格式

function getPhoto() { 
     navigator.camera.getPicture(onPhotoSuccess, onFail, 
     {quality: 50, 
     sourceType: pictureSource.SAVEDPHOTOALBUM, 
     destinationType: destinationType.FILE_URI, 
     }); 
    } 

function onPhotoSuccess(imageUri) { 
     var smallImage = document.getElementById('smallImage'); 
     smallImage.style.display = 'block'; 
     smallImage.src = imageUri; 

     console.log(imageUri); 
    } 

控制檯輸出正顯示出這樣的URI: content://com.android.providers.media.documents/document/image%3A76755

是否有可能在imageUri轉換爲Base64格式,而不是使用<canvas>? 我正在使用Andriod手機,這是一個cordova應用程序。

+0

圖像。它適用於相機。使用data_uri不會解決問題 – vbharath

回答

2

使用destinationType: Camera.DestinationType.DATA_URL

docs

返回base64編碼字符串。 DATA_URL可能會佔用大量內存,導致應用程序崩潰或內存不足錯誤。如果可能的話

1

是使用FILE_URI或NATIVE_URI,只是改變FILE_URIDATA_URL 這會給你在觀察到同樣的問題,同時從savedPhotoAlbum訪問照片Base64格式

+0

文檔本身指出,由於內存問題,這是一種不好的做法。 – andreszs