Добрый день! Хочу попросить помощи, вот по какому вопросу...Мне необходимо архивировать файлы с вложенными каталогами...Есть один текстовый файл и папка с рисунками и мне надо получить, н-р:
архив.zip
|-текстовый файл.txt
|-рисунки
|-рисунок1
|-рисунок2
но пока не получается...Переделал пример, но он не архивирует, как надо...
Для архивирования использую QZipWriter:
int CMainWindow::archiveDir(const QString path)
{
QZipWriter zip(path + "/dir.zip");
if (zip.status() != QZipWriter::NoError)
return -1;
zip.setCompressionPolicy(QZipWriter::AutoCompress);
QDirIterator it(path + "/temp/", QDir::Files|QDir::Dirs, QDirIterator::Subdirectories);
while(it.hasNext())
{
QString file_path = it.next();
if (it.fileInfo().isDir())
{
zip.setCreationPermissions(QFile::permissions(file_path));
zip.addDirectory(file_path.remove(path));
}
else
if(it.fileInfo().isFile())
{
QFile file(file_path);
if (!file.open(QIODevice::ReadOnly))
continue;
zip.setCreationPermissions(QFile::permissions(file_path));
QByteArray ba = file.readAll();
zip.addFile(file_path.remove(path), ba);
file.close();
}
}
zip.close();
return 0;
}