私はZlibライブラリを使ってファイルを解凍しようとしていますが、最終的に最初の8バイトだけ解凍されているようです。ここnodejsで圧縮されたファイルを膨張させる
コード:
var zlib = require('zlib');
fs = require('fs')
fs.open('./file1.ff', 'r', function(status, fd) {
if (status) {
console.log(status.message);
return;
}
var bufferOrig = new Buffer(100);
fs.read(fd, bufferOrig, 0, bufferOrig.length, 76, function(err, num) {
console.log(bufferOrig);
zlib.inflate(bufferOrig, {
finishFlush: zlib.Z_SYNC_FLUSH
}, function(err, bufferDef) {
if (!err) {
console.log(bufferDef);
fs.writeFile("./file2.ff", bufferDef, function(err) {
if (err) return console.log(err);
console.log("The file was saved!");
});
} else console.log('inflate error: ' + err);
});
});
});
オリジナルバッファ:
Buffer 78 9c ec dd 07 5c 14 d7 da 07 e0 b3 4b 47 84 a5 59 a3 2e 0b a2 58 81 05 7b a1 da 75 7a 9f 11 a9 76 17 a9 36 58 54 2c a9 6a ec d1 18 8d dd 18 35 f6 96 ...
膨張しバッファ(たった8バイト??):GZIPので混乱することができる
Buffer f0 a0 f6 ff 26 4c 00 00
非同期で開こうとしましたか? – Jaime
いいえ、私はやっていません、私はnodejsで新しい方法を知っていません:/ – han0idx