phonegap相机未将图片加载到<img/>标签中

时间:2012-05-02 18:14:54

标签: javascript jquery html5 jquery-mobile cordova

我正在尝试使用navigator.camera对象捕获图像并将其推入img标记。我正在做的演示在这样的phonegap文档中说:

if(navigator.camera) {
    navigator.camera.getPicture(function(imageData){
        var $image = document.getElementById('imageForTask');
        image.src = "data:image/jpeg;base64," + imageData;
        console.log(imageData);
       }, null, {sourceType:1, quality: 50});               
} else {
    alert("Camera not supported on this device.");
}

当我这样做时,我在imageForTask中得到一个断开的链接。这就是消息来源所说的:data:image/jpeg;base64,content://media/external/images/media/325。有谁知道为什么这不起作用?我已经和它搏斗了一段时间。谢谢!

-Geoff

2 个答案:

答案 0 :(得分:4)

默认的destinationType已从DATA_URL更改为FILE_URI。如果添加选项:

destinationType : Camera.DestinationType.DATA_URL

到您传递的图片以获取图片,您可以将其设置为base64编码数据。

http://docs.phonegap.com/en/1.6.1/cordova_camera_camera.md.html#cameraOptions_options

答案 1 :(得分:0)

content://media/external/images/media/325是图像的路径,而不是其实际的二进制数据。您需要使用文件系统API来获取文件的内容,base64对其进行编码并使用它。