2

试图处理JSZip库。

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

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

任何想法为什么会发生这种情况?

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

4

2 回答 2

4

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

  • 使用 `generateAsync({type:"uint8array"}) 更改生成的格式(请参见此处
  • 或告诉加载方法您正在加载 base64 内容:(loadAsync(data,{base64:true})请参阅此处
于 2014-07-07T17:27:20.663 回答
0

正如大卫所回答的那样,我在运行 Windows 10 操作系统的本地工作站上解决了我的问题。但是,它在运行 RHEL OS 的服务器上失败。

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

于 2020-03-09T13:12:57.853 回答