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