如何使用脚本打开在resources下指定目录的zip文件?

RT,已经导入了JSZIP库,但JSZIP的load指令,需要传入一个ArrayBuffer类型的数据,也就是说要先把指定zip文件按二进制方式打开;然而我用cc.loader里面的各种接口,打开指定位置都不成功,无法返回数据呢?请问下各位是如何打开zip文件的?谢谢!

是否参考下这个帖子。
https://forum.cocos.com/t/zip/49020

似乎不行,项目是发微信小游戏的,他的那个我也下了,在当前版本的cocosCreator里面不能实现效果。

那个demo是1.10.x版本之前的做法。
在1.10.x版本、以及之后的版本,Assets管理有一些变化。
造成这个问题的变化时这个原因。
https://docs.cocos.com/creator/manual/zh/release-notes/raw-asset-migration.html#其余未知类型默认也全都导入为-ccasset
在新版本中,如果是加载zip包,可以指定type为 cc.Asset,具体读取压缩包中的数据方式如下。

cc.loadRes("xxx",(err, res)=>{
   var data = res._nativeAsset;
})

这样拿取到的_nativeAsset,官方推荐按什么方式打开使用呢?还是说直接就可以按文本来转了么?
之前其他项目的办法里,我是用读取出的数据生成一个new JSZip,然后用JSZip来读取其中的各种数据;但咱们这里拿取的似乎不能直接传给JSZip来生成,它会报错认为这不是Zip文件。

目前好像只能这样取,取出来之后用getFileData取读取指定文件的数据。
其它的应用方式暂时没试过。

谢谢大神这么耐心的指导~~~不过getFileData接口是在哪里?我在cc.Asset上和其他地方都没找到这个方法呢?像你刚才给的例子一样,如果直接用res.getFileData,会直接报错getFileData is not a function

不好意思,这个接口是自己封装的。
可以参考上文的帖子里面的demo的使用方法。

我运行那个demo里的getFileData,也还是返回getFileData is not a function……

话说CC里面有没有什么办法可以把对应文件的二进制数据读取出来?读出来一个ArrayBuffer的方式?