JSZip解压缩错误

时间:2014-07-07 12:05:16

标签: javascript jszip

尝试处理JSZip库。

解压缩文件时遇到问题。这是plunker demo。如您所见,我可以成功压缩内容,但当我尝试解压缩压缩内容时,我收到错误(可以在控制台中看到):

Uncaught Error: Corrupted zip : can't find end of central directory 

为什么会发生这种情况?

无论如何,这就是我想要实现的目标:我的页面上有一个textarea。点击后我想压缩textarea内容并将压缩数据发送到服务器。另一个调用必须能够接收压缩数据,解压缩并用解压缩的文本替换textarea文本。除解压缩问题外,一切正常。

2 个答案:

答案 0 :(得分:1)

generate()方法默认为base64输出,但load()方法只能看到一个字符串。 你有两个解决方案:

  • 使用`generate({type:" uint8array"})更改生成的格式(参见here
  • 或告诉load方法您正在加载base64内容:load({base64:true})(请参阅here

答案 1 :(得分:0)

David的回答已解决我在运行Windows 10 OS的本地工作站上的问题。但是,在运行RHEL OS的服务器上失败。

我必须通过切换到yauzl软件包进行解压缩来修复它。建议在软件包的官方存储库中进行提及,并指定merge pull 383