【问题标题】:Save base64 string as image using phonegap?使用phonegap将base64字符串保存为图像?
【发布时间】:2015-09-11 05:31:25
【问题描述】:

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

【问题讨论】:

  • 如果是单个文件,则可以将其存储在本地存储中
  • 我的要求是保存在文件系统中
  • 你可能想检查这个post,它将base64的dataUrl保存到android文件系统上的png图像

标签: javascript android jquery cordova


【解决方案1】:

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

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

【讨论】:

【解决方案2】:

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

【讨论】:

    【解决方案3】:

    刚刚找到了一个很好的插件,可以将 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

    【讨论】:

      猜你喜欢
      • 2014-06-11
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-10-18
      • 1970-01-01
      • 2020-09-17
      • 2012-03-14
      相关资源
      最近更新 更多