将 ZK 人脸字符串模板上传到设备时出现问题
Posted
技术标签:
【中文标题】将 ZK 人脸字符串模板上传到设备时出现问题【英文标题】:Problems uploading a ZK Face String Template to a device 【发布时间】:2021-11-26 18:56:07 【问题描述】:设备型号:SpeedFace-H5L 我正在使用的 SDK:StandAlone SDK-Ver6.3.1.34 通过 TCP/IP 连接
当我使用 GetUserFaceStr 时,我得到了所有模板,但是当我尝试执行 SetUserFaceStr 时,操作失败并返回 -103 错误代码,在文档中它说这个错误意味着“-103 设备发回面部版本错误的错误"
Fp版本代码是
axCZKEM1.GetSysOption(GetMachineNumber(), "ZKFaceVersion", out strTemp);
给我一个 58 人脸算法
这是获取和设置人脸的代码
public int sta_SetAllUserFaceInfo(ListBox lblOutputInfo, ProgressBar prgSta, ListView lvUserInfo)
if (GetConnectState() == false)
lblOutputInfo.Items.Add("*Please connect first!");
return -1024;
if (lvUserInfo.Items.Count == 0)
lblOutputInfo.Items.Add("*There is no data can upload!");
return -1023;
string sEnrollNumber = "";
string sEnabled = "";
bool bEnabled = false;
string sName = "";
string sPassword = "";
int iPrivilege = 0;
string sTmpData = "";
int iLength = 0;
int iFaceIndex = 50;
int num = 0;
axCZKEM1.EnableDevice(iMachineNumber, false);
for (int i = 0; i < lvUserInfo.Items.Count; i++)
sEnrollNumber = lvUserInfo.Items[i].SubItems[0].Text;
sEnabled = lvUserInfo.Items[i].SubItems[1].Text;
if (sEnabled == "true")
bEnabled = true;
else
bEnabled = false;
sName = lvUserInfo.Items[i].SubItems[2].Text;
sPassword = lvUserInfo.Items[i].SubItems[3].Text;
iPrivilege = Convert.ToInt32(lvUserInfo.Items[i].SubItems[4].Text);
iLength = Convert.ToInt32(lvUserInfo.Items[i].SubItems[5].Text);
sTmpData = lvUserInfo.Items[i].SubItems[6].Text;
if (axCZKEM1.s-s-r_SetUserInfo(iMachineNumber, sEnrollNumber, sName, sPassword, iPrivilege, bEnabled))//upload user information to the device
if(axCZKEM1.SetUserFaceStr(iMachineNumber, sEnrollNumber, iFaceIndex, sTmpData, iLength)) //upload face templates information to the device
num++;
prgSta.Value = num % 100;
else
axCZKEM1.GetLastError(ref idwErrorCode);
lblOutputInfo.Items.Add("*Operation failed,ErrorCode=!" + idwErrorCode.ToString());
axCZKEM1.EnableDevice(iMachineNumber, true);
else
axCZKEM1.GetLastError(ref idwErrorCode);
lblOutputInfo.Items.Add("*Operation failed,ErrorCode=!" + idwErrorCode.ToString());
axCZKEM1.EnableDevice(iMachineNumber, true);
return -1022;
prgSta.Value = 100;
axCZKEM1.RefreshData(iMachineNumber);//the data in the device should be refreshed
axCZKEM1.EnableDevice(iMachineNumber, true);
lblOutputInfo.Items.Add("Upload face successfully");
return 1;
【问题讨论】:
SDK 不完全兼容可见光版本的设备。最好用 web api 试试 【参考方案1】:这是 SDK 中的 ZKteco 错误,与设备固件不兼容。我面临同样的问题。 SpeedFace V4L 也会发生这种情况
【讨论】:
以上是关于将 ZK 人脸字符串模板上传到设备时出现问题的主要内容,如果未能解决你的问题,请参考以下文章
通过 Ajax 将数据发布到 Flask 时出现 500 内部服务器错误 [重复]