问题描述
我们最近在解压缩大文件后遇到了文件损坏的问题。解压缩过程无误完成,但可能遗漏最后5k字节。
我们当前的过程:.ZIP文件从S3下载到linux pod上,使用IO::Uncompress::Unzip
的perl代码解压缩单个.JSON文件,.JSON上传回S3。
还有另一层挑战。在本地使用本机Windows或Linux工具时,文件将完全解压缩,不会丢失字节。但是,有时文件中的单个字符会更改(我们已经看到JSON损坏,将“}]}”更改为} M}“或拼写错误的单词,将” item“更改为” idem“)。使用诸如7zip和Winrar。
在检查.ZIP文件的详细信息时,它似乎使用Windows进行编码压缩,而研究称使用GBK编码。我怀疑linux和某些使用UTF8解码的工具可能存在解码问题,但我一直无法确认。另外,我们甚至在本地Windows解压缩过程中都经历过更改单个字符的情况。
我们尝试在本地使用IO::Uncompress::Unzip
,导致文件不完整。
我们尝试在本地使用Archive::Zip
,该错误在4 GB以上的任何文件上都会出错。
我们已经尝试使用Compress::Raw::Zlib
,但这也没有用。
我们在文件句柄上尝试了autoflush
,导致文件不完整。
有人遇到过类似的行为吗?
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)