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

tpo*_*pow 4 cordova

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

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

我在使用时失败回调中得到{"code" : 5}(根据这个,意味着它是一个无效的URI):

fileSystem.root.getFile("content://media/external/images/media/4292", null, gotFileEntry, fail);
Run Code Online (Sandbox Code Playgroud)

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

Sim*_*ald 16

这是因为Android OS有一个content://协议的URI处理程序.File API没有.但是,有一种方法可以将content://类型URI转换为FileEntry.使用:

window.resolveLocalFileSystemURI("content://media/external/images/media/4292", win, fail);
Run Code Online (Sandbox Code Playgroud)

并且win将为FileEntry您调用成功回调.