文章目录

1、完善用户信息

1.1、阿里云OSS

1.2、百度人脸识别

1、完善用户信息

用户在首次登录时需要完善个人信息,包括性别、昵称、生日、城市、头像等。其中,头像数据需要做图片上传,这里采用阿里云的OSS服务作为我们的图片服务器,并且对头像要做人脸识别,非人脸照片不得上传。

  • 首次登录时(手机号码不存在),需要创建用户存入数据库中

  • 客户端检测首次登录需要完善用户信息

    • 填写用户基本信息

    • 上传用户头像(需要人脸认证)

1.1、阿里云OSS

实现图片上传服务,需要有存储的支持,那么我们的解决方案将以下几种:

  1. 直接将图片保存到服务的硬盘(springmvc将的文件上传)

    1. 优点:开发便捷,成本低

    2. 缺点:扩容困难

  2. 使用分布式文件系统进行存储

    1. 优点:容易实现扩容

    2. 缺点:开发复杂度稍大(有成熟的产品可以使用,比如:FastDFS)

  3. 使用第三方的存储服务

    1. 优点:开发简单,拥有强大功能,免维护

    2. 缺点:付费

在本套课程中选用阿里云的OSS服务进行图片存储。

1.1.1、概述

对象存储服务(Object Storage Service,OSS)是一种海量、安全、低成本、高可靠的云存储服务,适合存放任意类型的文件。容量和处理能力弹性扩展,多种存储类型供选择,全面优化存储成本。

地址:对象存储OSS_云存储服务_企业数据管理_存储-阿里云

1.1.2、账号申请

购买服务

使用第三方服务最大的缺点就是需要付费,下面,我们看下如何购买开通服务。

购买下行流量包: (不购买也可以使用,按照流量付费)

说明:OSS的上行流量是免费的,但是下行流量是需要购买的。

创建Bucket

使用OSS,首先需要创建Bucket,Bucket翻译成中文是水桶的意思,把存储的图片资源看做是水,想要盛水必须得有桶,就是这个意思了。

进入控制台,阿里云登录 - 欢迎登录阿里云,安全稳定的云计算服务平台

选择Bucket后,即可看到对应的信息,如:url、消耗流量等 :

文件管理:

查看文件:

1.1.3、抽取模板工具

和发送短信类似,阿里云OSS也是采用自定义工具的形式进行封装

OssProperties

tanhua-autoconfig创建配置类

@Data
@ConfigurationProperties(prefix = "tanhua.oss")
public class OssProperties {
​private String accessKey; private String secret;private String bucketName;private String url; //域名private String endpoint;
}

OssTemplate

tanhua-autoconfig创建模板对象

package com.tanhua.autoconfig.template;
​
import com.aliyun.oss.OSS;
import com.aliyun.oss.OSSClientBuilder;
import com.tanhua.autoconfig.properties.OssProperties;
​
import java.io.InputStream;
import java.text.SimpleDateFormat;
import java.util.Date;
import java.util.UUID;
​
public class OssTemplate {
​private OssProperties properties;
​public OssTemplate(OssProperties properties) {this.properties = properties;}
​/*** 文件上传*   1:文件名称*   2:输入流*/public String upload(String filename, InputStream is) {//3、拼写图片路径filename = new SimpleDateFormat("yyyy/MM/dd").format(new Date())+"/"+ UUID.randomUUID().toString() + filename.substring(filename.lastIndexOf("."));
​
​// yourEndpoint填写Bucket所在地域对应的Endpoint。以华东1(杭州)为例,Endpoint填写为https://oss-cn-hangzhou.aliyuncs.com。String endpoint = properties.getEndpoint();// 阿里云主账号AccessKey拥有所有API的访问权限,风险很高。强烈建议您创建并使用RAM账号进行API访问或日常运维,请登录 https://ram.console.aliyun.com 创建RAM账号。String accessKeyId = properties.getAccessKey();String accessKeySecret = properties.getSecret();
​// 创建OSSClient实例。OSS ossClient = new OSSClientBuilder().build(endpoint, accessKeyId,accessKeySecret);
​// 填写Byte数组。// 填写Bucket名称和Object完整路径。Object完整路径中不能包含Bucket名称。ossClient.putObject(properties.getBucketName(), filename, is);
​// 关闭OSSClient。ossClient.shutdown();
​String url = properties.getUrl() +"/" + filename;return url;}
}
​

TanhuaAutoConfiguration

TanhuaAutoConfiguration加入配置

@EnableConfigurationProperties({SmsProperties.class,OssProperties.class
})
public class TanhuaAutoConfiguration {
​@Beanpublic SmsTemplate smsTemplate(SmsProperties properties) {return new SmsTemplate(properties);}
​@Beanpublic OssTemplate ossTemplate(OssProperties properties) {return new OssTemplate(properties);}
}

1.1.4、测试

tanhua-app-server加入配置内容,并测试

tanhua:  oss:accessKey: LTAI4GKgob9vZ53k2SZdyAC7secret: LHLBvXmILRoyw0niRSBuXBZewQ30laendpoint: oss-cn-beijing.aliyuncs.combucketName: tanhua001url: https://tanhua001.oss-cn-beijing.aliyuncs.com/

编写测试类

@RunWith(SpringRunner.class)
@SpringBootTest(classes = AppServerApplication.class)
public class OssTest {
​@Autowiredprivate OssTemplate template;
​@Testpublic void testTemplateUpload() throws FileNotFoundException {String path = "C:\\Users\\lemon\\Desktop\\课程资源\\02-完善用户信息\\03-资料\\2.jpg";FileInputStream inputStream = new FileInputStream(new File(path));String imageUrl = template.upload(path, inputStream);System.out.println(imageUrl);}
}

1.2、百度人脸识别

人脸识别(Face Recognition)基于图像或视频中的人脸检测、分析和比对技术,提供对您已获授权前提下的私有数据的人脸检测与属性分析、人脸对比、人脸搜索、活体检测等能力。灵活应用于金融、泛安防、零售等行业场景,满足身份核验、人脸考勤、闸机通行等业务需求

1.2.1、概述

地址:人脸识别_人脸识别_准确率99.99%_免费试用-百度AI开放平台

1.2.2、账号申请

账号登录注册

百度云AI支持百度账号登录,也可以支持云账号。按需注册即可

创建应用

按需创建应用

1.2.3、抽取模板工具

AipFaceProperties

@Data
@ConfigurationProperties("tanhua.aip")
public class AipFaceProperties {private String appId;private String apiKey;private String secretKey;
​@Beanpublic AipFace aipFace() {AipFace client = new AipFace(appId, apiKey, secretKey);// 可选:设置网络连接参数client.setConnectionTimeoutInMillis(2000);client.setSocketTimeoutInMillis(60000);return client;}
}

AipFaceTemplate

package com.tanhua.autoconfig.template;
​
import com.baidu.aip.face.AipFace;
import org.json.JSONObject;
import org.springframework.beans.factory.annotation.Autowired;
​
import java.util.HashMap;
​
public class AipFaceTemplate {
​@Autowiredprivate AipFace client;
​/*** 检测图片中是否包含人脸*  true:包含*  false:不包含*/public boolean detect(String imageUrl) {// 调用接口String imageType = "URL";
​HashMap<String, String> options = new HashMap<String, String>();options.put("face_field", "age");options.put("max_face_num", "2");options.put("face_type", "LIVE");options.put("liveness_control", "LOW");
​// 人脸检测JSONObject res = client.detect(imageUrl, imageType, options);System.out.println(res.toString(2));
​Integer error_code = (Integer) res.get("error_code");
​return error_code == 0;}
}

1.2.4、测试

tanhua-app-server加入百度AI的配置信息

tanhua:aip:appId: 24021388apiKey: ZnMTwoETXnu4OPIGwGAO2H4GsecretKey: D4jXShyinv5q26bUS78xRKgNLnB9IfZh

编写单元测试类

@RunWith(SpringRunner.class)
@SpringBootTest(classes = AppServerApplication.class)
public class FaceTest {
​
​@Autowiredprivate AipFaceTemplate template;
​@Testpublic void detectFace() {String image = "https://tanhua001.oss-cn-beijing.aliyuncs.com/2021/04/19/a3824a45-70e3-4655-8106-a1e1be009a5e.jpg";boolean detect = template.detect(image);}
}

【探花交友】阿里云OSS、百度人脸识别相关推荐

  1. 【探花交友DAY 03】个人信息完善 阿里云OSS百度人脸识别引入 统一Token和异常处理

    1. 阿里云OSS和百度人脸识别 1.1 需求分析 在登录判断的时候,我们需要根据用户的手机号查询用户是否为新用户,如果为新用户,那么在登录完成后需要跳转到完善用户信息界面,用户需要设置性别,头像和昵 ...

  2. 阿里云平台的人脸识别接口测试

    需要导入的包: 必备模块:import urllib 请求模块:import urllib.request 解析模块:import urllib.parse  可以拆分URL,也可以拼接URL 数据交 ...

  3. 阿里云 aliyun 人脸识别(1:N) java spring 小程序 小程序上传多图 阿里云oss

    前段时间开发一个小程序需要使用到阿里云(1:N)人脸识别的服务,查询资料发现网上并没有详细的教程,而官方的api文档也写得很简略,于是就有了如下教程,希望能帮助到大家. 目录 服务开通 人脸识别服务开 ...

  4. 阿里云OSS上传及智能图像识别垃圾识别

    阿里云OSS对象存储上传图片及智能图像识别垃圾识别 相信各位广大的新手程序员和我一样,想写一个智能图像识别,可是查百度总是查不到或者查的时候不知道是什么意思,下面我将我自己写查文档的过程和代码贡献出来 ...

  5. 整合百度UEditor上传图片到阿里云OSS

    前言 将图片上传到阿里云OSS是一种趋势,一个必然.当你的项目图片过多,需要频繁上传和替换的时候,用阿里云OSS可以很方便的管理你的图片,节省服务器空间,大大提高了效率.阿里云OSS是阿里云提供的海量 ...

  6. 用多备份将网站数据备份到百度云,七牛云存储,阿里云OSS,亚马逊S3,金山云等云存储服务上

    真正运营过网站的人都知道,数据对一个网站来说至关重要,因此,网站数据备份也是日常必做工作.因为误操作,网站被攻击等种种原因都会导致数据丢失,这时,你才会明白"有备无患"的道理.备份 ...

  7. 秀米编辑器(xiumi)+百度编辑器(Ueditor) 集成 :解决集成问题,秀米编辑器导出到百度编辑器格式问题,图片保存到自己的服务器(阿里云OSS)

    1.集成前提条件: 1. 需要集成百度编辑器到环境中 2.https环境下才可以导出数据到百度编辑器,如果不是https环境,会出现错误 然后我们开始讲解如何集成: 2.引入资源: //百度编辑器需要 ...

  8. ossfs挂载百度对象存储_Linux利用OSSFS工具挂载阿里云OSS对象存储

    在前面的文章中,我们了解了腾讯云的COS对象存储的挂载,这次我们来了解阿里云OSS对象存储的挂载以及两者的优缺点. 同腾讯云的CVM和COS一样,阿里云的OSS不仅可以挂载在自己的ECS上,也可以挂载 ...

  9. 阿里云oss(图片存储)--fastdfs (视频存储)

    技术点总结:  注入OSSClient和配置类,文件格式的判断------通过入参获取到图片的文件名称,------ 在通过图片文件名称获取到自定义新的文件图片的名称----调用putObject() ...

最新文章

  1. 《预训练周刊》第24期:Infinite-former:无限记忆变换器、2500万悟道科研基金开始申请
  2. 【转】首先为人编写程序,其次才是计算机
  3. android 固定中间焦点,在Android上将相机焦点设置为受控固定距离
  4. git reset 怎么还原_git reset –hard后的恢复操作
  5. mysql生成app接口_Java实现app接口和Socket消息传递(10)java连接MySQL实现App登录接口...
  6. php框架例子,php框架中的动态实例化对象详解
  7. 【Elasticsearch】运行 400 多个节点的 Elasticsearch 集群
  8. 08.Prevent exceptions from leaving destructors
  9. dubbo优势_Dubbo的作用和特点
  10. Matlab实现——巧用灰色关联法完成“系统分析”与“综合评价”
  11. WIN10虚拟机安装教程
  12. 配置可访问外网静态IP
  13. php screw 密钥,php-screw php代码加密工具用法(整理)
  14. Clojure 学习入门(8)—— 连接mongodb
  15. 达梦数据库(DM)——表空间管理命令大全
  16. 今天才发现!华为手机点击这个按钮,就能自动保存通话录音
  17. JS单个、批量下载图片
  18. 记录一次糟心的pyinstall安装经历
  19. pydicom----用法一
  20. 2021-11-21 根据身高 体重计算出bmi指数,检测自己是否属于肥胖

热门文章

  1. DSSD: Deconvolutional Single Shot Detector
  2. 错误ORA-01438: 值大于为此列指定的允许精度
  3. 机器翻译质量评测算法-BLEU
  4. 官宣:无极SR4 Max,350AC发布
  5. 剑灵服务器维护到几点,《剑灵》公布首测具体开放时间 凌晨1点关服
  6. 海康录像机能用别的摄像头吗_海康录像机怎么添加网络摄像头,你会了吗?
  7. 梯有N阶,上楼可以一步上一阶,也可以一次上二阶(Java实现)
  8. 同一篇Word文档设置多个不同的页眉页脚
  9. STM32F103ZET6:CubeMX配置FSMC接口驱动SSD1963-7寸 TFTLCD
  10. C#windows竞赛管理系统