s3からオブジェクトをプルダウンしています。オブジェクトは圧縮されているので、それらを解凍して内容をいくつかの文字列と比較できるようにする必要があります。私の問題は、私はそれらを適切に解凍するように見えないということです。これは私が起こっていることです:s3圧縮 - >ワイヤーを介して - >私にJSバッファー - > ???JSで文字列を解凍
私は次に何ができるのか分かりません。私は一見、pakoやlzutf8などの文字列をすべて解凍しようとしましたが、ダイスは使用しませんでした。ここ
はlzutf8との試みである:ここでは
lzutf8.decompress(buffer,{outputEncoding: "String"}, (result, error) => {
if (err) console.log(err);
if (data) console.log(data);
});
はPAKOと試みです:
pako.ungzip(buffer,{to: "string"}, (result, error) => {
if (error) console.log(err);
if (result) console.log(data);
})
PAKOは "間違ったヘッダチェック" をスローし、そしてlzutf8は黙って何もしません。
私はこれらの図書館と結婚していないので、仕事をすることが他にあれば、何かを試してみてうれしいです。私の問題はエンコーディングの種類と関係するかもしれないと推測していますか?確かに。ここで
は、私のコードの関連部分は次のようになります。
let pako = require('pako');
let streamBuffers = require('stream-buffers');
let ws = fs.createWriteStream(process.cwd() + 'path-to-file');
let rs = new streamBuffers.ReadableStreamBuffer();
objects.forEach((obj) => {
console.log(obj);
rs.on("data", (data) => {
ws.write(pako.ungzip);
})
rs.push(obj);
})
圧縮されているか、または圧縮されていますか?これらは2つの全く異なるものです。 – tadman
が圧縮されています。私は違いを知らないと思う。私はちょうどgzipに変更していると言われましたが... – bwighthunter
[Zip](https://en.wikipedia.org/wiki/Zip_(file_format))は、1つまたは複数のファイルとディレクトリをエンコードする非常に特定のファイル形式です。 [gzip](https://en.wikipedia.org/wiki/Gzip)は、通常、任意のデータストリームまたは単一ファイルで使用される圧縮方法です。あなたは対処しようとしているタイプを知る必要がありますが、フォーマットは全く異なります。 – tadman