2016-09-15 117 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

相关问题