Heim > Web-Frontend > js-Tutorial > Drei Möglichkeiten, Dateien in Node.js_node.js zu schreiben

Drei Möglichkeiten, Dateien in Node.js_node.js zu schreiben

WBOY
Freigeben: 2016-05-16 15:11:29
Original
1560 Leute haben es durchsucht

Dieser Artikel beschreibt drei Möglichkeiten zum Schreiben von Dateien in Node.js. Der spezifische Inhalt ist wie folgt

1. Dateien über den Pipe-Flow schreiben
Durch die Verwendung von Pipes zur Übertragung von Binärstreams können beschreibbare Streams nicht befürchtet werden, dass lesbare Streams zu schnell abstürzen. Geeignet für große und kleine Dateiübertragungen (empfohlen)

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

Nach dem Login kopieren

2. Stream-Schreiben manuell verwalten
Manueller Verwaltungsablauf, geeignet für die Verarbeitung großer und kleiner Dateien

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

Nach dem Login kopieren

3. Daten auf einmal lesen und schreiben
Den gesamten Inhalt der Datei auf einmal lesen, geeignet für kleine Dateien (nicht empfohlen)

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();
 });
Nach dem Login kopieren

Das Obige ist der gesamte Inhalt dieses Artikels. Ich hoffe, er wird für das Studium aller hilfreich sein.

Verwandte Etiketten:
Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage