我想在 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);
但是,当下载框出现时,这两种解决方案都只会在另存为对话框中提供默认文件名“下载”。
我的问题基本上是,如何将其更改为特定的文件名,例如“readme.txt”或“scene.obj”
另请注意,数据类型以前是“文本/纯文本”,但是如果使用它,文档将切换到新的文本文档,而不是提供下载(就像 text/octet-stream 似乎一样)。
我不想要 Flash 解决方案,请仅提供 javascript/html5 建议。
干杯,乔什