首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >如何使用HTML 5/Javascript生成和保存文件?

如何使用HTML 5/Javascript生成和保存文件?
EN

Stack Overflow用户
提问于 2018-10-17 06:08:13
回答 2查看 0关注 0票数 0

我最近一直在摆弄WebGL,并让Collada读者工作。问题是它很慢(Collada是一种非常冗长的格式),所以我将开始将文件转换为更易于使用的格式(可能是JSON)。事实是,我已经有了用Javascript解析文件的代码,所以我也可以用它作为我的导出器!问题在于节省。

现在,我知道我可以解析文件,将结果发送到服务器,并让浏览器从服务器请求文件作为下载。但实际上服务器与这个特定的进程没有任何关系,为什么要让它参与其中呢?我已经在内存中拥有所需文件的内容。有什么办法可以使用纯javascript向用户提供下载吗?(我怀疑它,但不妨问......)

并且要明确:我没有在用户不知情的情况下尝试访问文件系统!用户将提供一个文件(可能通过拖放),脚本将在内存中转换文件,并提示用户下载结果。就浏览器而言,所有这些都应该是“安全”的活动。

EN

回答 2

Stack Overflow用户

发布于 2018-10-17 14:21:08

简单方案!

代码语言:javascript
复制
<a download="My-FileName.txt" href="data:application/octet-stream,HELLO-WORLDDDDDDDD">Click here</a>

适用于所有现代浏览器。

票数 0
EN

Stack Overflow用户

发布于 2018-10-17 15:34:02

HTML5就绪浏览器的简单解决方案......

代码语言:javascript
复制
function download(filename, text) {
    var pom = document.createElement('a');
    pom.setAttribute('href', 'data:text/plain;charset=utf-8,' + encodeURIComponent(text));
    pom.setAttribute('download', filename);

    if (document.createEvent) {
        var event = document.createEvent('MouseEvents');
        event.initEvent('click', true, true);
        pom.dispatchEvent(event);
    }
    else {
        pom.click();
    }
}

用法

代码语言:javascript
复制
download('test.txt', 'Hello world!');
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/-100008908

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档