JSZip读取下载的数据(Angular 2)

时间:2017-08-04 11:23:46

标签: json angular jszip

我正在尝试使用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服务下载文件,并使用observable来获取响应。当收到数据时,我终于调用JSZip并尝试解压缩文件,但操作的结果是一个复杂的对象,我的数据散布在整个地方并埋在几个层中。我想要的只是解压缩的JSON文件,我可以打开并处理它。

感谢您的帮助,

恐龙

1 个答案:

答案 0 :(得分:0)

经过一番阅读后,我意识到自己走错了路。如果要将文件下载到浏览器,则不必执行任何操作。浏览器自动添加Accept-Encoding:'deflate'标头;在DOM / JS级别执行此操作既不必要也不好。如果您使用NGINX,以下链接可能会帮助您:

NGINX COMPRESSION AND DECOMPRESSION