我在我的節點服務器上使用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