gpt4 book ai didi

node.js 输出流作为下载

转载 作者:搜寻专家 更新时间:2023-11-01 00:38:02 26 4
gpt4 key购买 nike

我实现了一种下载文件而不将它们保存在磁盘上的方法......使用 npm 的 officegen 包:

var documentObject = officegen('docx')
// fill with data
// download via express
res.setHeader('content-type', 'contentType1')
res.setHeader('content-disposition', 'attachment; filename=file1.docx')
documentObject.generate(res)

这是我的下载...它适用于这种文件格式。

但我现在想做的是,添加其他文件类型以供下载,例如 .txt:

var writer = new streams.WritableStream()
writer.write('some text')

var reader = new streams.ReadableStream();
var output = reader.pipe(this.writer)

res.send(output)

txt 文件下载了...但是当我打开它时,我可以看到内容是一个很长的 json ({"_writableState":{"highWaterMark": ...)

有人可以帮我解决这个问题吗?

问候和感谢

我使用的流来自:

https://www.npmjs.com/package/memory-streams

最佳答案

假设您使用的是标准 node.js HTTP 响应对象或 express.js(它扩展了标准响应类),那么您的 res 对象已经是 WriteableStream 的一个实例,你应该能够直接通过管道传递给它:

reader.pipe(res);

关于node.js 输出流作为下载,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44671688/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com