node.js簡単な圧縮/解凍機能の例を実現します。
本明細書の例は、簡単な圧縮/解凍機能を実現するためのnode.jsを述べている。皆さんに参考にしてあげます。具体的には以下の通りです。
圧縮の例
非常に簡単なコードの数行で、ローカルファイルのgzip圧縮が完了しました。
同様に非常に簡単です。逆操作です。
コードは超簡単です。まず、accept-encodingヘッダが含まれているかどうかを判断し、かつ、gzip値とする。いいえ、圧縮されていないファイルを返します。 は、gzip圧縮後のファイルを返します。
コードは前の例と大同小異です。ここでは****slib.gzipSync*を使って文字列をgzip圧縮します。
deflate圧縮の使用も同じです。ここでは詳しく説明しません。より詳細な使用法は公式文書を参照することができる。
ここで述べたように皆さんのnode.jsプログラムの設計に役に立ちます。
圧縮の例
非常に簡単なコードの数行で、ローカルファイルのgzip圧縮が完了しました。
var fs = require('fs');
var zlib = require('zlib');
var gzip = zlib.createGzip();
var inFile = fs.createReadStream('./extra/fileForCompress.txt');
var out = fs.createWriteStream('./extra/fileForCompress.txt.gz');
inFile.pipe(gzip).pipe(out);
ストレス解消の例同様に非常に簡単です。逆操作です。
var fs = require('fs');
var zlib = require('zlib');
var gunzip = zlib.createGunzip();
var inFile = fs.createReadStream('./extra/fileForCompress.txt.gz');
var outFile = fs.createWriteStream('./extra/fileForCompress1.txt');
inFile.pipe(gunzip).pipe(outFile);
圧縮サービスコードは超簡単です。まず、accept-encodingヘッダが含まれているかどうかを判断し、かつ、gzip値とする。
var http = require('http');
var zlib = require('zlib');
var fs = require('fs');
var filepath = './extra/fileForGzip.html';
var server = http.createServer(function(req, res){
var acceptEncoding = req.headers['accept-encoding'];
var gzip;
if(acceptEncoding.indexOf('gzip')!=-1){ // gzip
gzip = zlib.createGzip();
// Content-Encoding, : gzip
res.writeHead(200, {
'Content-Encoding': 'gzip'
});
fs.createReadStream(filepath).pipe(gzip).pipe(res);
}else{
fs.createReadStream(filepath).pipe(res);
}
});
server.listen('3000');
デスクトップ文字列gzip圧縮コードは前の例と大同小異です。ここでは****slib.gzipSync*を使って文字列をgzip圧縮します。
var http = require('http');
var zlib = require('zlib');
var responseText = 'hello world';
var server = http.createServer(function(req, res){
var acceptEncoding = req.headers['accept-encoding'];
if(acceptEncoding.indexOf('gzip')!=-1){
res.writeHead(200, {
'content-encoding': 'gzip'
});
res.end( zlib.gzipSync(responseText) );
}else{
res.end(responseText);
}
});
server.listen('3000');
後に書くdeflate圧縮の使用も同じです。ここでは詳しく説明しません。より詳細な使用法は公式文書を参照することができる。
ここで述べたように皆さんのnode.jsプログラムの設計に役に立ちます。