Javascript Pako无法解压缩python中生成的gzip文件
我使用以下代码从python生成gzip文件:(使用python 3) 但是,我现在正试图使用Pako库(我使用Angular 2)在Javascript中读取此文件:Javascript Pako无法解压缩python中生成的gzip文件,javascript,python,angular,gzip,pako,Javascript,Python,Angular,Gzip,Pako,我使用以下代码从python生成gzip文件:(使用python 3) 但是,我现在正试图使用Pako库(我使用Angular 2)在Javascript中读取此文件: 但是我在控制台中遇到了这个错误:未知的压缩方法。我应该做些别的事情来正确地膨胀gzip文件吗?结果表明,我需要使用res.blob()函数来获取真正的二进制数据,而不是res.arrayBuffer();然后将blob转换为数组缓冲区: return this.http.get("output.json.gzip", new R
但是我在控制台中遇到了这个错误:
未知的压缩方法
。我应该做些别的事情来正确地膨胀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";
});
您已将其编码为utf-8。你在哪里解码它?我如何使用JS解码它?这对我来说非常好,除了我必须替换
arrayBuffer=This.result代码>与arrayBuffer=fileReader.result代码>。
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;
});
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";
});