Dear All,
I would like to open password protected zip file using QuaZip but it is not working and I can see it says open mode not supported.
File is stored on my local computer.
I can unzip normal file.
Here is my code sample.
bool CURLScanner::UnZipFile()
{
QuaZip zip(TEST_ZIP_FILE);
//QuaZip zip(FILE_SAVE_PATH);
zip.open(QuaZip::mdUnzip);
QuaZipFile file(&zip);
//QString file_password(m_pURLDownloader->GetFileLastUpdatedTime());
for(bool f=zip.goToFirstFile(); f; f=zip.goToNextFile())
{
printf("\n File Found in zip folder : %s", file.getFileName().toUtf8().constData());
file.
open(QIODevice::ReadOnly,file_password
);
if(file_str.isEmpty())
{
printf("\n NO FILE CONTENT");
}
else
{
//do something with the data
printf("\n\n UNZIP FILE CONTENT : %s", file_str.toUtf8().constData());
// set destination file
QFile dstFile
( TEST_UNZIP_FILE
);
//QFile dstFile( FILE_SAVE_PATH_2 );
// open the destination file
// write the data from the bytes array into the destination file
dstFile.write( file_data.data() );
//close the destination file
dstFile.close();
}
file.close();
}
zip.close();
return true;
}
bool CURLScanner::UnZipFile()
{
QuaZip zip(TEST_ZIP_FILE);
//QuaZip zip(FILE_SAVE_PATH);
zip.open(QuaZip::mdUnzip);
QuaZipFile file(&zip);
//QString file_password(m_pURLDownloader->GetFileLastUpdatedTime());
QString file_password("1234");
for(bool f=zip.goToFirstFile(); f; f=zip.goToNextFile())
{
printf("\n File Found in zip folder : %s", file.getFileName().toUtf8().constData());
file.open(QIODevice::ReadOnly,file_password);
QByteArray file_data = file.readAll();
QString file_str(file_data);
if(file_str.isEmpty())
{
printf("\n NO FILE CONTENT");
}
else
{
//do something with the data
printf("\n\n UNZIP FILE CONTENT : %s", file_str.toUtf8().constData());
// set destination file
QFile dstFile( TEST_UNZIP_FILE );
//QFile dstFile( FILE_SAVE_PATH_2 );
// open the destination file
dstFile.open( QIODevice::WriteOnly | QIODevice::Text );
// write the data from the bytes array into the destination file
dstFile.write( file_data.data() );
//close the destination file
dstFile.close();
}
file.close();
}
zip.close();
return true;
}
To copy to clipboard, switch view to plain text mode
Please help me.
Thanks,
Bookmarks