因为最早我们是打算整个平台都用python写的,但是经过商量后得出结论,不应该跳出微服务框架另起炉灶,因此得出结论:登录注册使用原本已经写好的服务,并以添加功能的方式在原有服务上进行代码的增加,对接python写好的百度人脸识别,python功能只提供参数,.net服务管理逻辑。
在注册上的设计如下:
普通进行注册后,选择人脸录入,除了返回账号密码等基础信息外,提供图片给后台,除了用户id和用户组id,图片以文件流的方式将图片转发给python人脸识别功能模块,不进行本地保存。
将iformfile对象类型的文件copyto一个内存流中并转换为byte数组:
var ms = new MemoryStream();
formfile.CopyTo(ms);
var fileBytes = ms.ToArray();
var fileContent = new ByteArrayContent(fileBytes);
提供userid,groupid给python进行人脸库录入,后台保存进表中,录入完毕。
在登录上的设计如下:
使用人脸登录的时候,传给后台一张图片,并转发给python人脸识别模块,返回userid,将返回的userid与数据表进行比对,存在唯一标识则登录成功。