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 可能会对您有所帮助:

NGINX COMPRESSION AND DECOMPRESSION