nodejs bufferはstreamを回してgzibを圧縮します.
4245 ワード
nodejs
これらはnodejsのバックエンドサービスに使われています.ファイルアップロードの圧縮の問題です.
これらはnodejsのバックエンドサービスに使われています.ファイルアップロードの圧縮の問題です.
//
import fs from "fs"
import zlib from "zlib"
import stream from "stream"
var Duplex = stream.Duplex;// stream buffer
function bufferToStream(buffer) {
//buffer Stream( )
let stream = new Duplex();
stream.push(buffer);
stream.push(null);
return stream;
}
//
//b buffer, nowUrl
//name ( nowUrl name )
function gzibFile(b,nowUrl,name){
//
// Gzip, gzib
const gzib = zlib.createGzip();//gzib ( )
var oringFile = bufferToStream(b);
var out = fs.createWriteStream('./'+nowUrl+name+'.gz');
oringFile.pipe(gzib).pipe(out);// './'+nowUrl+name+'.gz'
}