如何使用JavaScript保存和编辑文件?

Fai*_*med 8 html javascript file

我希望我的网站用户在文本区域输入一些文本,当他提交表单时,他输入的文本存储在当前网页的同一目录中的.txt文件中?我不知道它是如何完成的,或者即使它可以在JavaScript中完成.

怎么做到呢?

Jam*_*ica 11

是的,HTML5 File API有一个saveAs可用于使用Javascript保存二进制数据的API.您可以通过首先将数据放入画布并将其保存为以下内容来生成.txt文件:

canvas.toBlob(function(blob) {
  saveAs(blob, filename);
});
Run Code Online (Sandbox Code Playgroud)

看到这个演示,文本文件实际上是在没有PHP的浏览器中生成的. http://eligrey.com/demos/FileSaver.js/

2011年,Eli Gray在html5rocks上发表了一篇很好的文章:http://updates.html5rocks.com/2011/08/Saving-generated-files-on-the-client-side

更多阅读W3C:Filesaver界面


编辑2016年更新

我的原始答案显示了一个使用BlobBuilder接口的示例,该接口已被弃用并标记为已过时.现在建议使用Blob Construct来操作二进制数据.

在发布时,所有主流浏览器支持 Blob构造.IE 11,Edge 13,Firefox 43,Chrome 45,Safari 9,Opera 35,iOS Safari 8.4,Android Chrome 49.

演示:

更多阅读: