Creator3D:JSZip_压缩

运行到解析zip时报错:

  let path: string = url.raw('resources/anims.zip');
    loader.load({ url: path, type: "binary", }, (err, res) => {
        if (err) return;
        console.log(res)
        console.log('读取到文件?');
        JSZip.loadAsync(res).then((zip: JSZip) => {   //这里报错,下面的输出都没显示
            console.log('-----------------');
            console.log(zip.files);
            let path:string="boom3.png";
            console.log('读取到文件');
            zip.file("path").async("base64").then((data: string) => {
                // console.log(JSON.parse(data));
                console.log(data);
            })
        })
      });

报错信息:

Uncaught (in promise) Error: Can’t find end of central directory : is this a zip file ? If it is, see
https://stuk.github.io/jszip/documentation/howto/read_zip.html
at ZipEntries.readEndOfCentral (jszip.js:4102)
at ZipEntries.load (jszip.js:4194)
at jszip.js:1216

zip.file(“path”) 这代码有问题, zip.file这函数的参数是想要加载文件,在zip内的相对路径

它上面一行都没执行到。这个path去掉了引号也还是一样的。

打个断点 看看res。加载出来的资源有问题

截图

看起来像字节流。

找到问题了。压缩文件必须在创建时就是zip后缀的。假如时别的格式,然后更改为zip后缀的则无法读取。
但是在把读取的资源转换为图片上碰到点问题。贴主去年9月份发的这个帖子不太好使。
Creator3D:入门一定要会的几种资源加载

82, 97, 这是Rar文件

哦?怎么看的?

Ra的ascii码是82, 97

那后面那个r是啥意思?

前三个字节的值应该是82, 97, 114, 对应Rar
不过你截图没截到第三个字节.

你用文本编辑器打开Rar文件可以看到它的文件头几个字节就是Rar, 而zip文件的文件头是PK

学些了,:bowing_man:

你好,我们上线了 NPM 支持。JSZip 可以通过 NPM 库来使用:

import JSZip from 'jszip/dist/jszip.min.js'; // 扩展名是需要的并且需要用 `min.js` 版本

牛批
qrcode

我们使用jszip下载压缩包后,解压花费的时间接近一分钟,有办法优化这个时间吗?

老哥,你的链接给错了

这个
https://mp.weixin.qq.com/s/QFElmvZY7S2Iw3SXa7kwfw

能否把 .js 文件 解压后,来使用呢

得看是哪个平台,原生、web应该可以。小游戏应该不行。

jszip不支持7z格式,请问知不知道支持7z格式解压缩的库