PhoneGap - 存储图像,然后获取其base64encoded数据

时间:2012-02-22 22:20:04

标签: cordova

我正在使用PhoneGap Camera API拍摄照片并使用destinationType.FILE_URI进行存储。这部分正在运作。我随后可以使用提供的路径并将其设置为HTML图像的src,然后显示图像。

稍后在代码中,我想获取图像,将其转换为base64encoded数据,并将其传输到服务器。这就是问题所在。

在使用时,我的失败回调中得到{"code" : 5}(根据this,表示它是无效的URI):

fileSystem.root.getFile("content://media/external/images/media/4292", null, gotFileEntry, fail);

我不明白为什么我可以设置img.src,但phoneGap无法使用相同的URI来查找文件?

1 个答案:

答案 0 :(得分:16)

这是因为Android OS具有content://协议的URI处理程序。 File API没有。但是,您可以将content://类型的URI转换为FileEntry。使用:

window.resolveLocalFileSystemURI("content://media/external/images/media/4292", win, fail);

将使用win为您调用成功回调FileEntry