QT QuaZip打开()失败-1000



我正在尝试解压缩Zip文件。在安卓设备上使用最新的Qt 5.15。

QFile downloadedZipFile(VALID_ZIP_LOCATION);
QuaZip zip(&downloadedZipFile);
if (!zip.open(QuaZip::mdUnzip)) {
qDebug() << "error" << zip.getZipError();
}

如果我的文件超过2GB,它会得到一个错误-1000。2GB以下的文件工作正常。

我试过

zip.setZip64Enabled(true);

然后打开文件但没有成功。我还尝试使用构造函数

QuaZip zip(VALID_ZIP_LOCATION)

稍后访问zip时,我还收到以下错误:

QuaZip::goToFirstFile((:ZIP未在mdUnzip模式中打开

这很有道理,因为它一开始就无法打开文件。

感谢任何帮助,因为我已经为这个问题挣扎了几天了。

问题是一个未解决的QT Bug。其中QFile::seek不能超过32位整数以上的限制。https://bugreports.qt.io/browse/QTBUG-84033

在发现问题后,我可以通过在java for android中实现用于解压缩文件的本地代码来解决这个问题。由于iPhone只在64位系统上运行,因此本机实现不需要移植到ObjC。

相关内容

  • 没有找到相关文章

最新更新