4

我正在尝试使用 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。有谁知道为什么这不起作用?我一直在努力解决这个问题。谢谢!

-杰夫

4

2 回答 2

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

于 2012-05-02T18:21:00.887 回答
0

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

于 2012-05-02T18:18:27.017 回答