使用node.js动态创建文件并使其可供下载

5

我正在使用Node.js构建一个文本编辑器,用户可以在文本区域中创建文件。当用户完成编辑后,可以点击“导出”按钮,触发一个Jquery函数来读取文本区域中的内容并将其发送到Node.js服务器。服务器应该读取这些信息并返回一个文件。我希望避免在服务器上创建和服务文件,而是想使用流动方式动态生成文件。我尝试了以下方法但没有成功:

exports.exportfile = function(req,res){

  var Stream = require('stream')
  var stream = new Stream();

  res.setHeader('Content-disposition', 'attachment; filename=try.txt');
  res.setHeader('Content-type', 'text/plain');

  stream.pipe = function(dest) {
    dest.write('Hello Dolly')
  }

    stream.pipe(res)
}

有人有关于如何实现这个的见解吗?
1个回答

6

我在我的服务器上测试了这个,它有效。虽然是通过GET调用的,但我认为使用POST也应该可以。

res.setHeader('Content-disposition', 'attachment; filename=theDocument.txt');
res.setHeader('Content-type', 'text/plain');
res.charset = 'UTF-8';
res.write("Hello, world");
res.end();

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接