【发布时间】:2018-12-01 16:02:40
【问题描述】:
所以我试图将一个文件用作起始模板,在流中添加数据(不更改原始文件),并将其提供给客户端而不在服务器上保存新文件(我是目前也在使用 express 模块)。
到目前为止,我在发布请求中传递了数据,并将其添加到流的末尾。不幸的是,当您将读取流通过管道传输到写入流时,您必须为写入流指定输出文件和位置。有什么办法吗?能否将输出文件位置设置为相关端口?
这是我目前拥有的(出现错误:无法管道,不可读):
app.post("/output_xml", function(req, res) {
var data = validateJSON(req.body);
stream_xml(data, res);
});
function stream_xml(data, res)
{
var read_stream = fs.createReadStream(__dirname + '/Static/input_template.xml')
var write_stream = fs.createWriteStream(__dirname + '/Static/output.xml') // trying to prevent saving a file to the server though
read_stream.pipe(write_stream);
read_stream.on('end', () => {
write_stream.write(data);
write_stream.write("\nAdding more stuff");
});
write_stream.pipe(res);
}
我可以将 write_stream 行换成类似的东西吗:
var write_stream = fs.createWriteStream('http://localhost:3000/output_xml/output.xml')
【问题讨论】:
标签: node.js express download stream