Express:从请求正文中的字符串流式传输HTML文件

问题描述 投票:0回答:2

我有一个字符串templateString正在发布到Express中的路由。如何将此字符串作为HTML文件流式传输并下载到客户端?

res.setHeader('Content-type', 'text/html');
res.setHeader('Content-disposition', `attachment; filename=${testname}.html`);

^^这将强制浏览器下载。

如何获取请求中的字符串并以HTML文件的形式将其传递给客户端?

node.js express stream
2个回答
1
投票

我认为你可以使Buffer形成字符串并通过res.end方法发送它。

let file = Buffer.from('Your string', 'utf8');

res.writeHead(200, {
    'Content-Type': 'text/html',
    'Content-disposition': `attachment; filename=${testname}.html`,
    'Content-Length': file.length
});

res.end(file);

您可以阅读更多关于Buffer here的内容


0
投票

刚想通了..这最后一条简单的线似乎有效..

res.setHeader('Content-type', 'text/html');
res.setHeader('Content-disposition', `attachment; filename=${testname}.html`);
res.end(req.body.templateString);
© www.soinside.com 2019 - 2024. All rights reserved.