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