如何使用JavaScript / HTML5创建.txt文件?

时间:2015-06-25 10:48:33

标签: javascript html

我是javascript的新手。互联网上与使用javascript创建文本文件相关的所有代码在我的笔记本电脑中无效。任何人都可以给我我的想法或可能的代码。

2 个答案:

答案 0 :(得分:7)

此代码应该可以运行,尝试一下,如果这不起作用,那么浏览器可能会出现问题:

(function () {
var textFile = null,
  makeTextFile = function (text) {
    var data = new Blob([text], {type: 'text/plain'});

    // If we are replacing a previously generated file we need to
    // manually revoke the object URL to avoid memory leaks.
    if (textFile !== null) {
      window.URL.revokeObjectURL(textFile);
    }

    textFile = window.URL.createObjectURL(data);

    return textFile;
  };


  var create = document.getElementById('create'),
    textbox = document.getElementById('textbox');

  create.addEventListener('click', function () {
    var link = document.getElementById('downloadlink');
    link.href = makeTextFile(textbox.value);
    link.style.display = 'block';
  }, false);
})();

HTML:

<textarea id="textbox">Type something here</textarea> <button id="create">Create file</button> 
<a download="info.txt" id="downloadlink" style="display: none">Download</a>

取自这个小提琴:

http://jsfiddle.net/uselesscode/qm5ag/

答案 1 :(得分:3)

一种非常快速简便的解决方案是使用FileSaver.js
https://raw.githubusercontent.com/eligrey/FileSaver.js/master/FileSaver.js

然后只需2行代码即可下载txt文件:

var blob = new Blob(["Hello, world!"], {type: "text/plain;charset=utf-8"});

saveAs(blob, "hello world.txt");


此代码示例将显示一个对话框,用于下载名为“hello world.txt”的文件,其中包含文本“Hello,world!”。只需用您选择的文件名和文本内容替换它!