Artikel ini berkongsi tiga cara untuk menulis fail dalam Node.js Kandungan khusus adalah seperti berikut
1. Tulis fail melalui aliran paip
Menggunakan paip untuk menghantar strim binari boleh mengurus strim boleh tulis secara automatik tidak perlu risau tentang strim yang boleh dibaca ranap terlalu cepat Sesuai untuk pemindahan fail besar dan kecil (disyorkan)
var readStream = fs.createReadStream(decodeURIComponent(root + filepath.pathname)); // 必须解码url readStream.pipe(res); // 管道传输 res.writeHead(200,{ 'Content-Type' : contType }); // 出错处理 readStream.on('error', function() { res.writeHead(404,'can not find this page',{ 'Content-Type' : 'text/html' }); readStream.pause(); res.end('404 can not find this page'); console.log('error in writing or reading '); });
2. Uruskan penulisan strim secara manual
Aliran pengurusan manual, sesuai untuk memproses fail besar dan kecil
var readStream = fs.createReadStream(decodeURIComponent(root + filepath.pathname)); res.writeHead(200,{ 'Content-Type' : contType }); // 当有数据可读时,触发该函数,chunk为所读取到的块 readStream.on('data',function(chunk) { res.write(chunk); }); // 出错时的处理 readStream.on('error', function() { res.writeHead(404,'can not find this page',{ 'Content-Type' : 'text/html' }); readStream.pause(); res.end('404 can not find this page'); console.log('error in writing or reading '); }); // 数据读取完毕 readStream.on('end',function() { res.end(); });
3. Baca dan tulis data sekali gus
Baca semua kandungan fail sekaligus, sesuai untuk fail kecil (tidak disyorkan)
fs.readFile(decodeURIComponent(root + filepath.pathname), function(err, data) { if(err) { res.writeHead(404,'can not find this page',{ 'Content-Type' : 'text/html' }); res.write('404 can not find this page'); }else { res.writeHead(200,{ 'Content-Type' : contType }); res.write(data); } res.end(); });
Di atas adalah keseluruhan kandungan artikel ini, saya harap ia akan membantu kajian semua orang.