我想動態地在javascript中生成一個文本文件,然後提供這個下載。目前我能得到這個工作在一定程度上用下面的解決方案:我怎樣才能生成一個文件,並提供下載在純JavaScript的?
content = "abc123";
document.location = "data:text/octet-stream," + encodeURIComponent(content);
OR
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/plain的」但是如果這文檔切換到新的文本文檔,而不是提供下載(如文本/八位字節流似乎這樣做)。
我不想要一個Flash解決方案,只需javascript/html5建議。
乾杯,喬希
可能提供FileSaver接口重複的[有什麼辦法來指定建議的文件名時使用數據:URI?](http://stackoverflow.com/questions/283956/is-there-any-way-to-specify-a-suggested-filename- when-using-data-uri) – 2011-05-30 12:09:15
這似乎是建議鏈接的副本,不確定爲什麼我在搜索時沒有找到它。希望回答這個問題的人應該關注這個鏈接。 – 2014-05-01 21:30:58