微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

从 Cordova/Inappbrowser 创建并保存文件

如何解决从 Cordova/Inappbrowser 创建并保存文件

我在使用 AcodeCordova inappbrowser 应用程序上运行自定义 HTML。 我可以通过 numpyfetch 将文本文件内容加载到我可以修改的文本区域中。现在我想将修改后的内容保存回文件(或另一个文件,如果不可能)。

我已经尝试过很多这样的建议答案:

FileReader

或者这个:

    let a = document.createElement('a');
    a.href = "data:text/plain;charset=utf-8," + encodeURIComponent("some text");
    a.download = 'name.txt';
    a.click()

但它们都不起作用。

因为这些脚本在我的认 android 浏览器中工作,所以我想以另一种方式进行下载:发送请求以在认浏览器中打开一个链接/blob,然后让这个认浏览器进行下载。所以我尝试了这个:

    var blob = new Blob(["some text"],{
        "type": "text/plain"
    });
    var a = document.createElement("a");
    a.download = "name.txt";
    a.href = (window.URL || window.webkitURL || window || {}).createObjectURL(blob);
    document.body.appendChild(a);
    a.click();
    document.body.removeChild(a);

但是这里又不起作用了。此外,如果我在 html 中对此进行硬编码: var blob = new Blob(["aaaa"],{ type: 'text/plain' }); var blobUrl = URL.createObjectURL(blob); window.open(blobUrl,'_system','location=yes'); 链接实际上是在cordova inappbrowser 中而不是在外部认浏览器中打开的。

知道如何创建文件吗?

我尝试了另外两个类似的应用 Trebedit 和 Spck Editor,但两者都遇到了同样的问题。

另外,我发现了一种使其在 Acode 中工作的方法,但它不适合我的需要:在 Acode 的设置中,我可以选择使用浏览器而不是 inappbrowser 进行预览(但我需要使用 inappbrowser) . 使用浏览器,文件下载工作正常,但再次,我不能那样使用它。

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。