使用phonegap将base64字符串保存为图像?

时间:2014-01-29 08:34:22

标签: javascript android jquery cordova

我从服务器获取一个png文件的base64字符串,我想将此图像保存在文件系统上。看起来像phonegap文件编写器只支持二进制文件。有谁知道如何将这个base64字符串转换为在phonegap中使用。我正在看window.atob和window.btoa,但无法理解事物。

4 个答案:

答案 0 :(得分:2)

您无法使用PhoneGap FileWriter写入二进制数据。您需要编写一个插件来将base64编码数据发送到本机端,将其编码为二进制文件,然后使用本机代码编写它。

查看插件信息:HERE还可以查看phonegap源代码以了解我们如何编写文件编写器,并且可以在编写之前添加一些代码来执行base64解码。

答案 1 :(得分:0)

据我所知,phonegap没有提供将图像保存到文件系统的方法。你需要一个phonegap插件才能做到这一点 Canvas2Image几乎可以做你想做的事。它采用画布ID,从画布中提取base64字符串并将其另存为图像。您可以稍微更改插件的javascript部分以接受base64字符串而不是画布ID。

答案 2 :(得分:0)

您可能需要检查此post,它将baseU的dataUrl保存到android文件系统上的png图像

答案 3 :(得分:0)

刚刚找到一个好的插件可以将BASE64保存到文件系统中。

Phonegap Image Resizer

window.imageResizer.storeImage(
  function(json) { 
    console.log('Saved to ' + json.url) 
  }, function (error) {
    console.log("Error : \r\n" + error);
  }, imageDataInBase64);

更多细节请参阅评论imageresize.js