欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

三種Node.js寫文件的方式

 更新時(shí)間:2016年03月08日 09:00:01   作者:猿客  
這篇文章主要為大家詳細(xì)介紹了三種Node.js寫文件的方式,感興趣的小伙伴們可以參考一下

本文分享了Node.js寫文件的三種方式,具體內(nèi)容和如下

1、通過管道流寫文件
  采用管道傳輸二進(jìn)制流,可以實(shí)現(xiàn)自動管理流,可寫流不必當(dāng)心可讀流流的過快而崩潰,適合大小文件傳輸(推薦)

var readStream = fs.createReadStream(decodeURIComponent(root + filepath.pathname)); // 必須解碼url
 readStream.pipe(res); // 管道傳輸
 res.writeHead(200,{
   'Content-Type' : contType
 });

 // 出錯(cuò)處理
 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、手動管理流寫入
  手動管理流,適合大小文件的處理

var readStream = fs.createReadStream(decodeURIComponent(root + filepath.pathname));
 res.writeHead(200,{
   'Content-Type' : contType
 });

 // 當(dāng)有數(shù)據(jù)可讀時(shí),觸發(fā)該函數(shù),chunk為所讀取到的塊
 readStream.on('data',function(chunk) {
   res.write(chunk);
 });

 // 出錯(cuò)時(shí)的處理
 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 ');
 });

 // 數(shù)據(jù)讀取完畢
 readStream.on('end',function() {
   res.end();
 });

3、通過一次性讀完數(shù)據(jù)寫入
  一次性讀取完文件所有內(nèi)容,適合小文件(不推薦)

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();
 });

以上就是本文的全部內(nèi)容,希望對大家的學(xué)習(xí)有所幫助。

相關(guān)文章

  • NodeJS學(xué)習(xí)筆記之Module的簡介

    NodeJS學(xué)習(xí)筆記之Module的簡介

    模塊是Node.js 應(yīng)用程序的基本組成部分,文件和模塊是一一對應(yīng)的。換言之,一個(gè) Node.js 文件就是一個(gè)模塊,這個(gè)文件可能是JavaScript 代碼、JSON 或者編譯過的C/C++ 擴(kuò)展。
    2017-03-03
  • node.js中的定時(shí)器nextTick()和setImmediate()區(qū)別分析

    node.js中的定時(shí)器nextTick()和setImmediate()區(qū)別分析

    本文介紹了node.js中的定時(shí)器nextTick()和setImmediate()的區(qū)別分析,非常的不錯(cuò),這里推薦給大家。
    2014-11-11
  • Node.js異步I/O學(xué)習(xí)筆記

    Node.js異步I/O學(xué)習(xí)筆記

    這篇文章主要介紹了Node.js異步I/O學(xué)習(xí)筆記,本文詳細(xì)講解了異步I/O的基本概念、Node的異步I/O、非I/O的異步API、事件驅(qū)動與高性能服務(wù)器等內(nèi)容,需要的朋友可以參考下
    2014-11-11
  • Node.js中的模塊機(jī)制學(xué)習(xí)筆記

    Node.js中的模塊機(jī)制學(xué)習(xí)筆記

    這篇文章主要介紹了Node.js中的模塊機(jī)制學(xué)習(xí)筆記,本文講解了CommonJS模塊規(guī)范、Node模塊實(shí)現(xiàn)過程、模塊調(diào)用棧、包與NPM等內(nèi)容,需要的朋友可以參考下
    2014-11-11
  • 你所未知的3種Node.js代碼優(yōu)化方式

    你所未知的3種Node.js代碼優(yōu)化方式

    這篇文章主要為大家介紹了3種你所未知的Node.js代碼優(yōu)化方式,幫助大家剛好的進(jìn)行代碼優(yōu)化,感興趣的小伙伴們可以參考一下
    2016-02-02
  • Node.js console控制臺簡單用法分析

    Node.js console控制臺簡單用法分析

    這篇文章主要介紹了Node.js console控制臺簡單用法,結(jié)合實(shí)例形式分析了nodejs console控制臺功能、常見函數(shù)與簡單使用技巧,需要的朋友可以參考下
    2019-01-01
  • Node.js參數(shù)校驗(yàn)?zāi)Kminijoi使用詳解

    Node.js參數(shù)校驗(yàn)?zāi)Kminijoi使用詳解

    這篇文章主要為大家介紹了Node.js參數(shù)校驗(yàn)?zāi)Kminijoi使用詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2023-09-09
  • Node.js中npm常用命令大全

    Node.js中npm常用命令大全

    這篇文章主要介紹了Node.js中npm常用命令大全的相關(guān)資料,非常不錯(cuò)具有參考借鑒價(jià)值,需要的朋友可以參考下
    2016-06-06
  • Node升級后vue項(xiàng)目node-sass報(bào)錯(cuò)問題及解決

    Node升級后vue項(xiàng)目node-sass報(bào)錯(cuò)問題及解決

    這篇文章主要介紹了Node升級后vue項(xiàng)目node-sass報(bào)錯(cuò)問題及解決方案,具有很好的參考價(jià)值,希望對大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2023-03-03
  • node.js讀寫json文件的方法

    node.js讀寫json文件的方法

    這篇文章介紹了node.js讀寫json文件的方法,文中通過示例代碼介紹的非常詳細(xì)。對大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2022-06-06

最新評論