cordova - 使用PhoneGap,如何获取从iPhone照片库中选择的照片的base64图像数据

标签 cordova camera base64 photolibrary

使用 PhoneGap(Cordova),我试图获取从照片库中选择的照片的 base64 图像数据。

我可以做到这一点......当照片是从相机拍摄时,在 Cordova 中使用以下代码片段。

    navigator.camera.getPicture(onSuccess, onFail, { quality: 50,
    destinationType: Camera.DestinationType.DATA_URL
 }); 

function onSuccess(imageData) {
    var image = document.getElementById('myImage');
    image.src = "data:image/jpeg;base64," + imageData;
}

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

但是,当从库中选择照片时,我应该怎么做才能获取 base64 图像数据?

最佳答案

function encodeImageUri(imageUri)
{
     var c=document.createElement('canvas');
     var ctx=c.getContext("2d");
     var img=new Image();
     img.onload = function(){
       c.width=this.width;
       c.height=this.height;
       ctx.drawImage(img, 0,0);
     };
     img.src=imageUri;
     var dataURL = c.toDataURL("image/jpeg");
     return dataURL;
}

我在 PhoneGap 中没有解决方案。所以我只需要用户从他们的照片库中选择的图像的 base64 格式。所以我把那张图片放在 Canvas 上,然后 toDataUrl() 给了我非常格式:-)

关于cordova - 使用PhoneGap,如何获取从iPhone照片库中选择的照片的base64图像数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11188599/

相关文章:

cordova - 为什么我用 Apache Cordova 构建的 Windows 10 通用应用程序的任务栏图标的大小比其他应用程序小

ios - 对日历守护程序的谓词调用失败 : Error Domain=EKCADErrorDomain Code=1013 Calendar Swift

android - Ionic v2 构建应用程序

android - 在 Android AVD 上使用桌面网络摄像头

c++ - OpenCV + WebCam 导致崩溃(写入时内存访问冲突)

c# - WebCamTexture 不显示在 Unity3D 中?

javascript - Cordova WebView,打开InAppBrowser并同时发布表单

JavaScript - 将数据库 base64 字符串转换为图像

java - Android base64解码/编码图像到字符串

delphi - Base64_to_stream Turbo power Lockbox 3.6.2 Delphi Xe7 | Base64_to_stream Turbo power Lockbox 3.6.2 Delphi Xe7 E2010 不兼容类型 : 'System.TArray<System.Byte>' and 'string'