第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

如何使 fs writeFile 更快地寫入圖像?

如何使 fs writeFile 更快地寫入圖像?

翻翻過去那場雪 2023-07-29 15:46:55
我怎樣才能讓它更快?我正在使用節(jié)點和 fs 庫。這是發(fā)送 jpg 圖像的 fs.Readable 流的 POST 請求的端點。代碼開始停留在 800 kB 左右。最終,我希望能夠保存視頻。理想情況下,我希望它花費的時間少于十秒。  var bufs = [];  readStream.on('data', function(d){ bufs.push(d); });  readStream.on('end', function(){  var buf = Buffer.concat(bufs);  console.log(buf);  fs.writeFile("test.jpg", buf, ()=>{console.log('hi')});  });
查看完整描述

1 回答

?
萬千封印

TA貢獻1891條經(jīng)驗 獲得超3個贊

一種更簡單的方法,也使用更少的內(nèi)存并并行化寫入(在塊到達時寫入塊)并且應該更快一點,那就是將流直接通過管道傳輸?shù)捷敵鑫募?/p>


readStream.pipe(fs.createWriteStream("test.jpg"));

readStream.on('close', () => {

    console.log("all done now");

});

或者,通過更好的錯誤處理,可以捕獲兩個流上的錯誤并告訴您一切何時完成:


const { pipeline } = require('stream');


pipeline(readStream, fs.createWriteStream("test.jpg"), err => {

    if (err) {

        console.log(err);

    } else {

        console.log("all done");

    }

});

或者,使用 Promise 和pipeline():


const pipeline = util.promisify(require('stream').pipeline);


pipeline(readStream, fs.createWriteStream("test.jpg")).then(() => {

   console.log("all done");

}).catch(err => {

   console.log(err);

});


查看完整回答
反對 回復 2023-07-29
  • 1 回答
  • 0 關注
  • 173 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網(wǎng)微信公眾號