Доброго времени суток.
Задача следующая:
Получить с github'a ветку в виде zip файла и распокавать ее. Первую часть я успешно выполнил.
Вопрос по второй части. Пробовал сделать так:
// QString destinationDir = filePath;
// QDir baseDir(destinationDir);
QZipReader unzip(fileName, QIODevice::ReadOnly);
unzip.extractAll(filePath);
unzip.close();
// QList<QZipReader::FileInfo> allFiles = unzip.fileInfoList();
// QZipReader::FileInfo fi;
// foreach (QZipReader::FileInfo fi, allFiles)
// {
// const QString absPath = destinationDir + QDir::separator() + fi.filePath;
// if (fi.isDir)
// {
// if (!baseDir.mkpath(fi.filePath))
// return;
// if (!QFile::setPermissions(absPath, fi.permissions))
// return;
// }
// }
// foreach (QZipReader::FileInfo fi, allFiles)
// {
// const QString absPath = destinationDir + QDir::separator() + fi.filePath;
// if (fi.isFile)
// {
// QFile file(absPath);
// if( file.open(QFile::WriteOnly) )
// {
// QApplication::setOverrideCursor(Qt::WaitCursor);
// file.write(unzip.fileData(fi.filePath), unzip.fileData(fi.filePath).size());
// file.setPermissions(fi.permissions);
// QApplication::restoreOverrideCursor();
// file.close();
// }
// }
// }
// unzip.close();
Но не закомментированный код, и не незакоментированный код не распоковуют zip файл, полученный с github'а... При том, что если я создам какой-то архив вручную и попрошу его распоковать, то все ОК.
В чем может быть проблема?
Испольщовать QuaZip ради одной операции распаковать архив не сильно хочется...