【发布时间】:2011-05-27 23:27:16
【问题描述】:
HTML5 引入了 FileWriter 类。通过这个类,您可以制作 Blob。 (文件是 Blob 的扩展。)使用 JavaScript,您可以创建一个 Blob,例如使用 dataURL 显示它。
例子:
var bb = new BlobBuilder();
bb.append('some text')
var blob = bb.getBlob('text/plain');
var fr = new FileReader();
fr.onload = function(e) {
document.location = this.result; // voila the dataURL
}
fr.readAsDataURL(blob);
但这还不够好:) 我希望下载新创建的(文本)文件。不在同一窗口或单独的窗口中打开。
有办法吗?必须有。怎么样?
(讨论已经存在于Google Chrome group)
更新
文件 API 已更改,因为规范已更改(或什么!?)。 Webkit 打破了与BlobBuilder 的向后兼容性,现在称为WebKitBlobBuilder。 Same example differently on jsFiddle
更新
现在创建 Blob 的工作方式再次不同(不再有 append()):
blob = new Blob(['some text'], {type: 'text/plain'});
【问题讨论】:
标签: javascript html filewriter