【需求背景】
?七月入職,做了一個交友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驗證,再次訪問,獲取返回值。
用正則表達式匹配出分數