Cordova-保存/下载动态生成的备份JSON文件

时间:2019-02-06 01:26:48

标签: javascript cordova

我正在构建HTML5 phonegap应用程序。此应用程序导出数据,以便用户可以随时备份和还原。我正在使用以下javascript代码进行导出:

    var dataStr = "data:text/json;charset=utf-8," + encodeURIComponent(JSON.stringify(this.data, null, "\t"));
    var dlAnchorElem = document.createElement('a');
    dlAnchorElem.setAttribute("href", dataStr);
    dlAnchorElem.setAttribute("download", "data.json");
    document.body.appendChild(dlAnchorElem);
    dlAnchorElem.click();

这将生成带有编码文件的锚标记,然后单击以下载。在浏览器上运行良好,但在已编译的Cordova应用程序中却无济于事。

经过研究,我发现默认的解决方案是为Cordova使用下载插件,特别是以下插件:https://github.com/apache/cordova-plugin-file-transfer

我阅读了文档,但似乎并没有将编码文件作为参数,而是将编码的URL作为下载地址。另外,它需要手机上的保存路径,我更喜欢将其保存为下载文件夹。

我的问题是:考虑到我正在动态生成JSON备份文件,实现此目标的最佳方法是什么?也许有一个AndroidManifest指令允许下载文件?

1 个答案:

答案 0 :(得分:0)

经过研究并尝试了许多不同的技巧,我得出的结论是,cordova或可用的插件目前不允许本机使用。我的解决方案是,而不是写入文件系统,而是使用Web共享api允许用户导出他认为最佳的方式(包括文件,如果他选择Dropbox,OneDrive或Google Drive的话)。