【需求背景】
七月入职,做了一个交友mini项目,有涉及一个给人脸颜值评分的需求。经过网上搜索,发现微软小冰可以很好解决这个需求。
【说明】
根据mini项目,用Spring-boot框架实现了一个demo,在html页面,上传个人头像,返回该头像的颜值评分。
【源码地址】
github.com/whx123/microsoft-ice-score/tree/master
【运行效果】
1) 用IDE编辑器或eclipse导入源码,右键启动类MicrosoftIceScoreApplication。
2) 在浏览器输入http://localhost:8080/whx/upload,出现如下图界面
![](https://img.haomeiwen.com/i7175534/efd29c3d4cd7ae88.png)
3)选择头像图片文件,点击上传,获得分数,如图
![](https://img.haomeiwen.com/i7175534/fb259e9976a3a5cb.png)
![](https://img.haomeiwen.com/i7175534/36b1cf10efcc5e75.png)
【代码解析】
1)引入相关依赖的jar文件
![](https://img.haomeiwen.com/i7175534/c49cd41bc98e4c61.png)
2)控制层action,输入/whx/upload跳转upload.html页面,点击提交(/whx/getFaceScore),调用analyseImageService分析图片返回分数
![](https://img.haomeiwen.com/i7175534/28b842ccb30505e6.png)
3)调用微软小冰接口,获得头像图片评分
获取用户图片,转化为base64的格式
![](https://img.haomeiwen.com/i7175534/98ed0fd5924e01a3.png)
用HttpURLConnection实现上传Base64图片到微软服务器,接受返回的json字符串。
![](https://img.haomeiwen.com/i7175534/086680b472de1510.png)
根据返回的json字符串,构造MsgId,CreateTime,Content[imageUrl]参数,添加Cookie验证和Referer验证,再次访问,获取返回值。
![](https://img.haomeiwen.com/i7175534/5ae6809a02f2e4ee.png)
用正则表达式匹配出分数
![](https://img.haomeiwen.com/i7175534/271b1a72ae2a7d10.png)
网友评论