Node / Express:如何从字符串创建文件并将其流式传输到浏览器?

时间:2017-07-09 21:00:10

标签: node.js express

尝试:
1.从请求体中获取一个字符串并使用此字符串创建一个文件(html文件) - 仅在内存中 - 不写入磁盘
2.将此文件(在内存中)作为文件下载发送到响应。

到目前为止,我有......这不起作用:

app.use(bodyParser.urlencoded());
const {HTMLStr} = req.body;
//HTMLStr is name of form field, contains HTML string

res.set({
 'Content-Type': 'text/html',
 'Content-Disposition': 'attachment; filename=myname.html'
});

res.send(HTMLStr);
res.end();

我过去做过类似的事情,我将传入的文件写入磁盘,通过createReadStream从磁盘读取它并将其传递给响应 - 但是如果没有先写入磁盘写入,则从未这样做过。

1 个答案:

答案 0 :(得分:1)

你在使用会话吗?如果是这样,您可以将信息(如果信息不是太大)存储到会话中,然后随时检索它。