JSZip 读取下载的数据 (Angular 2)
JSZip read downloaded data (Angular 2)
我正在尝试使用 JSZip 解压缩 JSON 文件,但由于我不了解 JSZip 的工作原理,所以我收到的响应格式是我不知道如何使用的。
到目前为止这是我的代码:
this.rest.getFile(this.stlLocation).subscribe(
data => {
let JSONFIle = new JSZIP();
JSONFIle.file(data.url, data._body, {binary : true, compression : 'DEFLATE'});
console.log(JSONFIle);
},
err => {
this.msgs.push({severity: 'error', summary: 'Error Message', detail: err});
}
);
因此,我使用 angular 2 服务下载了一个文件,并使用了一个可观察对象来获取响应。收到数据后,我最终调用 JSZip 并尝试解压缩文件,但操作的结果是一个复杂的对象,我的数据散落在各处并埋在几层中。我想要的只是我可以打开和处理的解压缩 JSON 文件。
感谢您的帮助,
恐龙
经过一些阅读,我意识到我走错了路。如果您要将文件下载到浏览器,则无需执行任何操作。浏览器自动添加 Accept-Encoding: 'deflate' header;在 DOM/JS 级别执行此操作既不必要又不是好的做法。如果您使用的是 NGINX,以下 link 可能会对您有所帮助:
我正在尝试使用 JSZip 解压缩 JSON 文件,但由于我不了解 JSZip 的工作原理,所以我收到的响应格式是我不知道如何使用的。
到目前为止这是我的代码:
this.rest.getFile(this.stlLocation).subscribe(
data => {
let JSONFIle = new JSZIP();
JSONFIle.file(data.url, data._body, {binary : true, compression : 'DEFLATE'});
console.log(JSONFIle);
},
err => {
this.msgs.push({severity: 'error', summary: 'Error Message', detail: err});
}
);
因此,我使用 angular 2 服务下载了一个文件,并使用了一个可观察对象来获取响应。收到数据后,我最终调用 JSZip 并尝试解压缩文件,但操作的结果是一个复杂的对象,我的数据散落在各处并埋在几层中。我想要的只是我可以打开和处理的解压缩 JSON 文件。
感谢您的帮助,
恐龙
经过一些阅读,我意识到我走错了路。如果您要将文件下载到浏览器,则无需执行任何操作。浏览器自动添加 Accept-Encoding: 'deflate' header;在 DOM/JS 级别执行此操作既不必要又不是好的做法。如果您使用的是 NGINX,以下 link 可能会对您有所帮助: