0
我從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);
})
它是壓縮還是壓縮?這是兩個完全不同的東西。壓縮了 – tadman
。我想我不知道區別。儘管我剛剛被告知我們正在將其更改爲gzip ... – bwighthunter
[Zip](https://en.wikipedia.org/wiki/Zip_(file_format))是一種非常具體的文件格式,可對一個或多個文件和目錄。 [gzip](https://en.wikipedia.org/wiki/Gzip)是一種壓縮方法,通常用於任意數據流或單個文件。您需要知道您要處理的是哪種類型,格式完全不同。 – tadman