一尘不染

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

node.js

我正在Node.js中构建文本编辑器,用户可以在其中在textarea中创建文件。完成文件编辑后,他可以按下“导出”按钮,该按钮触发一个Jquery函数,该函数读取textarea并将文本发布到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)
}

有人对如何实现这一目标有任何见识吗?


阅读 306

收藏
2020-07-07

共1个答案

一尘不染

我在服务器上对此进行了测试,并且正常工作。它来自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();
2020-07-07