如何解决我如何生成文件并将其提供为以纯JavaScript下载?
| 我想在javascript中动态生成一个文本文件,然后将其提供下载。目前,我可以通过以下两种解决方案在某种程度上使这项工作正常进行:content = \"abc123\";
document.location = \"data:text/octet-stream,\" + encodeURIComponent(content);
要么
content = \"abc123\";
var bb = new BlobBuilder();
bb.append(content);
var blob = bb.getBlob();
blob = blob.slice(0,blob.size,\'text/octet-stream\');
var fr = new FileReader();
fr.onload = function() {document.location = this.result;}
fr.readAsDataURL(blob);
但是,当出现下载框时,这两种解决方案都只会在“另存为”对话框中提供默认的文件名“ \ download”。
我的问题基本上是,如何将其更改为特定的文件名,例如\'readme.txt \'或\'scene.obj \'
还要注意,数据类型以前是\'text / plain \',但是,如果使用此类型,则文档将切换到新的文本文档,而不是提供下载(就像text / octet-stream一样)。
我不想要Flash解决方案,请只使用javascript / html5建议。
干杯,乔希
解决方法
为此,您将必须使用FileAPI:Writer规范中的FileSaver。
目前,它只是一个草稿,根据邮件列表的回答,它尚未在浏览器中实现。
您可以观看例如铬问题,以获取有关实施进度的最新信息。
UPD 02.08.2013:此后我找到了一个使用整洁技巧提供FileSaver界面的项目
, 我认为您应该检查一下:jQuery Table to CSV export
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。