小编Kei*_*ddy的帖子

使用 Pako 在 Javascript 中提取 gzip 数据 - 编码问题

我正在尝试运行我期望的一个非常常见的用例:

我需要从 Amazon S3 下载一个 gzip 文件(复杂的 JSON 数据集),并在 Javascript 中解压缩(gunzip)它。除了最后的“充气”步骤外,我一切正常。

我正在使用 Amazon Gateway,并且已经确认网关正在正确传输压缩文件(使用 Curl 和 7-zip 来验证结果数据是否来自 API)。不幸的是,当我尝试使用 Pako 在 Javascript 中扩充数据时,出现错误。

这是我的代码(注意:response.data 是从 AWS 传输的二进制数据):

apigClient.dataGet(params, {}, {})
      .then( (response) => {
        console.log(response);  //shows response including header and data

        const result = pako.inflate(new Uint8Array(response.data), { to: 'string' });
        // ERROR HERE: 'buffer error'  

      }).catch ( (itemGetError) => {
        console.log(itemGetError);
      });
Run Code Online (Sandbox Code Playgroud)

还尝试了一个版本,通过在膨胀之前添加以下内容将二进制数据输入拆分为数组:

const charData = response.data.split('').map(function(x){return x.charCodeAt(0); });
const binData = new Uint8Array(charData);
const result = pako.inflate(binData, { to: …
Run Code Online (Sandbox Code Playgroud)

javascript gzip amazon-s3 pako

1
推荐指数
1
解决办法
4194
查看次数

标签 统计

amazon-s3 ×1

gzip ×1

javascript ×1

pako ×1