解决导出失败时,文件内无图像的问题

This commit is contained in:
luoliangyi 2023-11-23 11:13:12 +08:00
parent be823e7d58
commit baa60ee29a
1 changed files with 21 additions and 0 deletions

View File

@ -184,6 +184,10 @@ HGResult Dialog_ExportImageFile::processMultiFileOcr()
if (HGBASE_ERR_OK == ret) if (HGBASE_ERR_OK == ret)
{ {
ret = HGImgProc_ImageListOCRToFile(ocrMgr, 0, getStdString(fileName).c_str(), NULL, NULL); ret = HGImgProc_ImageListOCRToFile(ocrMgr, 0, getStdString(fileName).c_str(), NULL, NULL);
if (HGBASE_ERR_OK != ret)
{
QFile::remove(fileName);
}
} }
HGImgProc_DestroyOCRMgr(ocrMgr); HGImgProc_DestroyOCRMgr(ocrMgr);
@ -227,6 +231,7 @@ HGResult Dialog_ExportImageFile::processMultiFileGif()
return ret; return ret;
} }
bool valid = false;
for (int i = 0; i < m_srcFiles.size(); ++i) for (int i = 0; i < m_srcFiles.size(); ++i)
{ {
if (m_stopThread) if (m_stopThread)
@ -268,6 +273,8 @@ HGResult Dialog_ExportImageFile::processMultiFileGif()
{ {
break; break;
} }
valid = true;
} }
HGImgFmt_CloseImageReader(imgFmtReader); HGImgFmt_CloseImageReader(imgFmtReader);
@ -278,6 +285,11 @@ HGResult Dialog_ExportImageFile::processMultiFileGif()
} }
HGImgFmt_CloseGifWriter(gifWriter); HGImgFmt_CloseGifWriter(gifWriter);
if (!valid)
{
QFile::remove(fileName);
}
return ret; return ret;
} }
@ -293,6 +305,7 @@ HGResult Dialog_ExportImageFile::processMultiFile()
return ret; return ret;
} }
bool valid = false;
for (int i = 0; i < m_srcFiles.size(); ++i) for (int i = 0; i < m_srcFiles.size(); ++i)
{ {
if (m_stopThread) if (m_stopThread)
@ -356,6 +369,8 @@ HGResult Dialog_ExportImageFile::processMultiFile()
{ {
break; break;
} }
valid = true;
} }
HGImgFmt_CloseImageReader(imgFmtReader); HGImgFmt_CloseImageReader(imgFmtReader);
@ -366,6 +381,11 @@ HGResult Dialog_ExportImageFile::processMultiFile()
} }
HGImgFmt_CloseImageWriter(imgFmtWriter); HGImgFmt_CloseImageWriter(imgFmtWriter);
if (!valid)
{
QFile::remove(fileName);
}
return ret; return ret;
} }
@ -447,6 +467,7 @@ HGResult Dialog_ExportImageFile::processSingleFile()
if (HGBASE_ERR_OK != ret) if (HGBASE_ERR_OK != ret)
{ {
QFile::remove(fileName);
break; break;
} }
} }