gpt4 book ai didi

javascript - Pako 无法压缩 python 中生成的 gzip 文件

转载 作者:行者123 更新时间:2023-11-28 20:35:01 25 4
gpt4 key购买 nike

我正在使用以下代码从 python 生成 gzip 文件:(使用 python 3)

    file = gzip.open('output.json.gzip', 'wb')
dataToWrite = json.dumps(data).encode('utf-8')
file.write(dataToWrite)
file.close()

但是,我正在尝试使用 Pako 库(我使用的是 Angular 2)在 Javascript 中读取此文件:

this.http.get("output.json.gzip")
.map((res:Response) => {
var resText:any = new Uint8Array(res.arrayBuffer());
var result = "";
try {
result = pako.inflate(resText, {"to": "string"});
} catch (err) {
console.log("Error " + err);
}
return result;

});

但我在控制台中收到此错误:未知压缩方法。我是否应该做其他事情来正确扩充 gzip 文件?

最佳答案

原来我需要使用 res.blob() 函数来获取真正的二进制数据,而不是 res.arrayBuffer();然后将 blob 转换为数组缓冲区:

return this.http.get("output.json.gzip", new RequestOptions({ responseType: ResponseContentType.Blob }))
.map((res:Response) => {
var blob = res.blob();
var arrayBuffer;
var fileReader = new FileReader();
fileReader.onload = function() {
arrayBuffer = this.result;
try {
let result:any = pako.ungzip(new Uint8Array(arrayBuffer), {"to": "string"});
let obj = JSON.parse(result);
console.log(obj);
} catch (err) {
console.log("Error " + err);
}
};
fileReader.readAsArrayBuffer(blob);
return "abc";
});

关于javascript - Pako 无法压缩 python 中生成的 gzip 文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47685090/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com