From b4682ed34ef9e89649ded8723ffb4aaac63139e1 Mon Sep 17 00:00:00 2001
From: liuxiaolong <736321739@qq.com>
Date: 星期五, 28 六月 2019 19:07:14 +0800
Subject: [PATCH] upload img and getFea

---
 controllers/fileController.go |   56 +++++++++++++++++++++++++++++++++++++++++++++++++-------
 1 files changed, 49 insertions(+), 7 deletions(-)

diff --git a/controllers/fileController.go b/controllers/fileController.go
index 15b4d48..62899dd 100644
--- a/controllers/fileController.go
+++ b/controllers/fileController.go
@@ -1,20 +1,22 @@
 package controllers
 
 import (
+	"basic.com/pubsub/protomsg.git"
 	"bytes"
 	"encoding/base64"
 	"fmt"
 	"github.com/gin-gonic/gin"
-	"webserver/extend/code"
-	"webserver/extend/esutil"
-	"webserver/extend/util"
-	"webserver/models"
 	"github.com/satori/go.uuid"
 	"image"
 	"image/jpeg"
 	"log"
 	"mime/multipart"
 	"net/http"
+	"webserver/extend/code"
+	"webserver/extend/esutil"
+	"webserver/extend/util"
+	"webserver/models"
+	"webserver/service"
 )
 
 type FileController struct {
@@ -100,6 +102,22 @@
 		filename = uuid.NewV4().String()
 	}
 
+	//灏嗕笂浼犵殑鍥剧墖浜や汉鑴告娴嬪拰浜鸿劯鎻愬彇锛岃幏寰楃壒寰�
+	var faceBase64=""
+	faceExtArr, err := getFaceFeaFromSdk(file)
+	if err ==nil && len(faceExtArr) >0 {
+		for _,r := range faceExtArr {
+			faceBase64 = base64.StdEncoding.EncodeToString(r.Feats)//鑾峰彇鎻愬彇鍒扮殑绗竴寮犱汉鑴哥壒寰�
+			break
+		}
+		fmt.Println("鎻愬彇鍒扮殑浜鸿劯鐗瑰緛涓猴細",faceBase64)
+		util.ResponseFormat(c,code.Success,faceBase64)
+		return
+	} else {
+		util.ResponseFormat(c,code.ComError,"鏈彁鍙栧埌浜鸿劯")
+	}
+
+
 }
 
 /*// 瀵逛笂闈㈢殑缂栫爜缁撴灉杩涜base64瑙g爜
@@ -124,6 +142,7 @@
 	}
 	if tableId != "" && field != "" {
 		// 杩斿洖鐗瑰緛鍊�  fileInfo["point"] = v.RcFace  fileInfo["feature"] = feat
+
 		/*features := gorun.GetSimpleFaceDetect(picIp+field)  // 鐗瑰緛鍊�     // linux
 			if len(features) == 0 {                                               // linux
 				return field,nil,errors.New("NotFeatureFindError")  // linux
@@ -134,14 +153,23 @@
 		if len(feat) != 2560 {                                // linux
 			return field,nil,errors.New("NotFeatureFindError")
 		}    */                     // linux
-		feat := []byte("hello world") // windows 娴嬭瘯鏀惧紑
+
+		//灏嗕笂浼犵殑鍥剧墖浜や汉鑴告娴嬪拰浜鸿劯鎻愬彇锛岃幏寰楃壒寰�
+		var faceBase64=""
+		faceExtArr, err := getFaceFeaFromSdk(file)
+		if err ==nil && len(faceExtArr) >0 {
+			for _,r := range faceExtArr {
+				faceBase64 = base64.StdEncoding.EncodeToString(r.Feats)//鑾峰彇鎻愬彇鍒扮殑绗竴寮犱汉鑴哥壒寰�
+				break
+			}
+		}
+
 		dbperson := new(models.Dbtablepersons)
 		dbperson.FaceUrl = picIp+field       //  鍥剧墖璺粡
 		dbperson.TableId = tableId  //
 		dbperson.PersonName = filename // 鍥剧墖鍚�
 		// 婕旂ずbase64缂栫爜
-		encodeString := base64.StdEncoding.EncodeToString(feat)
-		dbperson.Feature = encodeString // 鐗瑰緛鍊糱ase64 鐮�
+		dbperson.Feature = faceBase64 // 鐗瑰緛鍊糱ase64 鐮�
 		result := addDbPerson(dbperson)
 		return field, result, nil
 	} else {
@@ -149,6 +177,20 @@
 	}
 }
 
+func getFaceFeaFromSdk(file multipart.File) ([]*protomsg.ResultFaceExtCom,error){
+	s := service.NewFaceSdkService(file)
+	i, err := s.ReadFromUploadImg()
+	if err !=nil{
+		return nil,err
+	}
+	bc, err := service.ImgCompress(i)
+	if err !=nil {
+		return nil,err
+	}
+	s.PushImgMsg(bc)
+	return s.GetFaceFea()
+}
+
 /**涓婁紶鏂规硶**/
 
 

--
Gitblit v1.8.0