我在我的节点服务器上使用pdfkit(https://github.com/devongovett/pdfkit),通常创建pdf文件,然后将它们上传到s3。 问题是pdfkit示例将pdf文档转换为节点写入流,将文件写入磁盘,我遵循示例并正确工作,但是现在我的要求是将pdf文档传输到内存流而不是保存它在磁盘上(我正在上传到s3)。 我跟随了一些节点内存流程程序,但它们都没有和我一起使用pdf管道,我只能写字符串到内存流。 所以我的问题是:如何将pdf套件输出传输到内存流(或类似的东西),然后将其作为上传到s3的对象读取?节点js,管道pdfkit到内存流
var fsStream = fs.createWriteStream(outputPath + fileName);
doc.pipe(fsStream);
在此先感谢。
我试过了,但是我似乎没有结束管道的经验或者结束'request'的使用,所以我结束了这个错误: '[grunt-develop]> events.js:141 throw er ; //未处理 '错误' 事件 ^ 错误:在exports._errnoException读ECONNRESET (util.js中:856:11) 在TLSWrap.onread(net.js:544:26) >>应用退出,代码1' –
当一个可读流(这里是'doc')结束时,它会自动告诉它被传送给('upload')的可写流已经结束。如果您想知道可写(上传)何时完成,请监听['finish'事件](https://nodejs.org/api/stream.html#stream_event_finish)。 – josh3736
而且这个堆栈跟踪表明你没有在正在断开连接的东西上侦听错误事件。添加'error'听众,以便您可以确切地确定什么是断开连接。如果这是你的“上传”请求,那很奇怪。 – josh3736