去掉重复上传时不必要的文件
This commit is contained in:
parent
4a855c495f
commit
a20dcac343
|
@ -1565,38 +1565,21 @@ HGResult HGPdtToolDbDeviceImpl::DownloadEntryImage(HGUInt entryName, const HGCha
|
|||
return HGBASE_ERR_INVALIDARG;
|
||||
}
|
||||
|
||||
char sqlCmd[1024] = { 0 };
|
||||
sprintf(sqlCmd, "select %s from inspection_image where sn = '%s';", entryNameStr, m_sn.c_str());
|
||||
int ret = mysql_query(m_userMgr->m_sql, sqlCmd);
|
||||
if (0 != ret)
|
||||
std::string remotePath;
|
||||
HGResult res = GetEntryImageRemotePath(entryNameStr, remotePath);
|
||||
if (HGBASE_ERR_OK != res)
|
||||
{
|
||||
return HGBASE_ERR_FAIL;
|
||||
}
|
||||
|
||||
MYSQL_RES* sqlRes = mysql_use_result(m_userMgr->m_sql);
|
||||
if (NULL == sqlRes)
|
||||
{
|
||||
return HGBASE_ERR_FAIL;
|
||||
}
|
||||
|
||||
MYSQL_ROW row = mysql_fetch_row(sqlRes);
|
||||
if (NULL == row)
|
||||
{
|
||||
mysql_free_result(sqlRes);
|
||||
return HGBASE_ERR_FAIL;
|
||||
}
|
||||
|
||||
if (NULL == row[0])
|
||||
{
|
||||
mysql_free_result(sqlRes);
|
||||
return HGBASE_ERR_FAIL;
|
||||
}
|
||||
|
||||
HGResult res = DownloadFile(ftpHost, ftpPort, row[0], fileName);
|
||||
mysql_free_result(sqlRes);
|
||||
return res;
|
||||
}
|
||||
|
||||
if (remotePath.empty())
|
||||
{
|
||||
return HGBASE_ERR_FAIL;
|
||||
}
|
||||
|
||||
return DownloadFile(ftpHost, ftpPort, remotePath.c_str(), fileName);
|
||||
}
|
||||
|
||||
HGResult HGPdtToolDbDeviceImpl::UploadEntryImage(HGUInt entryName, const HGChar* ftpHost, HGUShort ftpPort, const HGChar* fileName)
|
||||
{
|
||||
if (NULL == m_userMgr->m_sql)
|
||||
|
@ -1617,12 +1600,21 @@ HGResult HGPdtToolDbDeviceImpl::UploadEntryImage(HGUInt entryName, const HGChar*
|
|||
return HGBASE_ERR_INVALIDARG;
|
||||
}
|
||||
|
||||
std::string remotePath;
|
||||
HGResult res = GetEntryImageRemotePath(entryNameStr, remotePath);
|
||||
if (HGBASE_ERR_OK != res)
|
||||
{
|
||||
return res;
|
||||
}
|
||||
|
||||
if (remotePath.empty())
|
||||
{
|
||||
HGChar uuid[256];
|
||||
HGBase_GetUuid(uuid, 256);
|
||||
HGChar remotePath[256];
|
||||
sprintf(remotePath, "/upload/%s.jpg", uuid);
|
||||
remotePath = std::string("/upload/") + uuid + ".jpg";
|
||||
}
|
||||
|
||||
HGResult res = UploadFile(ftpHost, ftpPort, fileName, remotePath);
|
||||
res = UploadFile(ftpHost, ftpPort, fileName, remotePath.c_str());
|
||||
if (HGBASE_ERR_OK != res)
|
||||
{
|
||||
return res;
|
||||
|
@ -1638,7 +1630,7 @@ HGResult HGPdtToolDbDeviceImpl::UploadEntryImage(HGUInt entryName, const HGChar*
|
|||
}
|
||||
|
||||
sprintf(sqlCmd, "update inspection_image set %s = '%s' where sn = '%s';",
|
||||
entryNameStr, remotePath, m_sn.c_str());
|
||||
entryNameStr, remotePath.c_str(), m_sn.c_str());
|
||||
ret = mysql_query(m_userMgr->m_sql, sqlCmd);
|
||||
if (0 != ret)
|
||||
{
|
||||
|
@ -1694,6 +1686,39 @@ const HGChar* HGPdtToolDbDeviceImpl::GetDescTableName(HGUInt entryName)
|
|||
return NULL;
|
||||
}
|
||||
|
||||
HGResult HGPdtToolDbDeviceImpl::GetEntryImageRemotePath(const HGChar* entryNameStr, std::string& remotePath)
|
||||
{
|
||||
assert(NULL != m_userMgr->m_sql);
|
||||
assert(NULL != entryNameStr);
|
||||
remotePath.clear();
|
||||
|
||||
char sqlCmd[1024] = { 0 };
|
||||
sprintf(sqlCmd, "select %s from inspection_image where sn = '%s';", entryNameStr, m_sn.c_str());
|
||||
int ret = mysql_query(m_userMgr->m_sql, sqlCmd);
|
||||
if (0 != ret)
|
||||
{
|
||||
return HGBASE_ERR_FAIL;
|
||||
}
|
||||
|
||||
MYSQL_RES* sqlRes = mysql_use_result(m_userMgr->m_sql);
|
||||
if (NULL == sqlRes)
|
||||
{
|
||||
return HGBASE_ERR_FAIL;
|
||||
}
|
||||
|
||||
MYSQL_ROW row = mysql_fetch_row(sqlRes);
|
||||
if (NULL == row)
|
||||
{
|
||||
mysql_free_result(sqlRes);
|
||||
return HGBASE_ERR_FAIL;
|
||||
}
|
||||
|
||||
if (NULL != row[0])
|
||||
remotePath = row[0];
|
||||
mysql_free_result(sqlRes);
|
||||
return HGBASE_ERR_OK;
|
||||
}
|
||||
|
||||
static size_t read_callback(char* ptr, size_t size, size_t nmemb, void* stream)
|
||||
{
|
||||
unsigned long nread;
|
||||
|
|
|
@ -88,6 +88,7 @@ private:
|
|||
const HGChar* GetEntryNameStr(HGUInt entryName);
|
||||
const HGChar* GetTestTableName(HGUInt entryName);
|
||||
const HGChar* GetDescTableName(HGUInt entryName);
|
||||
HGResult GetEntryImageRemotePath(const HGChar *entryNameStr, std::string &remotePath);
|
||||
|
||||
private:
|
||||
// FTP
|
||||
|
|
Loading…
Reference in New Issue