鍍金池/ 問(wèn)答/HTML/ fs.createReadStream()放入Buffer數(shù)據(jù)出現(xiàn)報(bào)錯(cuò)

fs.createReadStream()放入Buffer數(shù)據(jù)出現(xiàn)報(bào)錯(cuò)

clipboard.png
具體代碼如上圖
整個(gè)代碼的意思是從數(shù)據(jù)庫(kù)里取出數(shù)據(jù),循環(huán)查看用戶(hù)是否有base64編碼頭像,有就解碼成buffer,傳入到一個(gè)可讀流中,這里之所以要傳入到一個(gè)可讀流中的原因是,七牛云插件規(guī)定要是一個(gè)可讀流參數(shù)。

回答
編輯回答
情未了

fs.createReadStream不是用來(lái)做BufferReadStream的轉(zhuǎn)換的。雖然它接受一個(gè)Buffer,但Buffer里面放的仍然應(yīng)該是一個(gè)文件路徑。它只不過(guò)幫你做了文本解碼。

正確的BufferReadStream的轉(zhuǎn)換是這樣的:

const stream = require('stream');
const bufferStream = new stream.PassThrough();
bufferStream.end(binaryData);
2017年10月5日 05:20