我实现了一种下载文件的方法,而不是将它们保存在磁盘上...使用officegen包为npm:
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
答案 0 :(得分:2)
假设您正在使用标准node.js HTTP响应对象或express.js(扩展标准响应类),那么您的res
对象已经是WriteableStream
的实例,并且你应该能够直接管道:
reader.pipe(res);