From 2a447c237b95f5fb45cb5d74fe3ca71de06ba1b5 Mon Sep 17 00:00:00 2001
From: liuxiaolong <736321739@qq.com>
Date: 星期五, 28 六月 2019 20:58:06 +0800
Subject: [PATCH] test

---
 controllers/fileController.go |   83 ++++++++++++++++++++++++++++++++++-------
 1 files changed, 69 insertions(+), 14 deletions(-)

diff --git a/controllers/fileController.go b/controllers/fileController.go
index 15b4d48..1afb2b9 100644
--- a/controllers/fileController.go
+++ b/controllers/fileController.go
@@ -1,20 +1,24 @@
 package controllers
 
 import (
+	"basic.com/pubsub/protomsg.git"
 	"bytes"
 	"encoding/base64"
+	"errors"
 	"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 {
@@ -84,12 +88,13 @@
 		util.ResponseFormat(c, code.Success, field)
 	}
 }
+
 // @Description 浜哄憳鐓х墖涓婁紶骞惰幏鍙栫壒寰佸��
 // @Router /data/api-v/dbperson/fileUploadTest [POST]
-func (controller FileController) UploadPersonTest(c *gin.Context){
+func (controller FileController) UploadPersonTest(c *gin.Context) {
 	file, header, err := c.Request.FormFile("file") //image杩欎釜鏄痷plaodify鍙傛暟瀹氫箟涓殑   'fileObjName':'image'
 	if err != nil {
-		util.ResponseFormat(c,code.RequestParamError,"鍙傛暟鏈夎")
+		util.ResponseFormat(c, code.RequestParamError, "鍙傛暟鏈夎")
 		return
 	}
 	//鏂囦欢鐨勫悕绉�
@@ -99,6 +104,22 @@
 		log.Fatal(err)
 		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,"鏈彁鍙栧埌浜鸿劯")
+	}
+
 
 }
 
@@ -124,6 +145,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
@@ -133,15 +155,28 @@
 			feat := features[0]["feature"].([]byte)   // linux
 		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 // 鍥剧墖鍚�
+		dbperson.FaceFeature = picIp + field //  鍥剧墖璺粡
+		dbperson.TableId = tableId           //
+		dbperson.PersonName = filename       // 鍥剧墖鍚�
 		// 婕旂ずbase64缂栫爜
-		encodeString := base64.StdEncoding.EncodeToString(feat)
-		dbperson.Feature = encodeString // 鐗瑰緛鍊糱ase64 鐮�
+
+		dbperson.FaceFeature = faceBase64 // 鐗瑰緛鍊糱ase64 鐮�
+
 		result := addDbPerson(dbperson)
 		return field, result, nil
 	} else {
@@ -149,8 +184,28 @@
 	}
 }
 
-/**涓婁紶鏂规硶**/
+func getFaceFeaFromSdk(file multipart.File) ([]*protomsg.ResultFaceExtCom,error){
+	s := service.NewFaceSdkService(file)
+	i, err := s.ReadFromUploadImg()
+	if err !=nil{
+		fmt.Println("readFromUploadImg err:",err)
+		return nil,err
+	}
+	bc, err := service.ImgCompress(i)
+	if err !=nil {
+		fmt.Println("ImgCompress err:",err)
+		return nil,err
+	}
+	s.PushImgMsg(bc)
+	s.GetFaceFea()
+	if s.Result == nil{
+		return nil,errors.New("no fea")
+	} else {
+		return s.Result,nil
+	}
+}
 
+/**涓婁紶鏂规硶**/
 
 // @Summary 鎵归噺娣诲姞搴曞簱浜哄憳
 // @Description  渚濇嵁鍥剧墖鎵归噺娣诲姞搴曞簱浜哄憳
@@ -257,7 +312,7 @@
 	//features := gorun.GetSimpleFaceDetect(picIp + "/" + field) // 鐗瑰緛鍊�  鍙湪linux 涓�
 	//feat := []byte("hello world")           // windows 娴嬭瘯鏀惧紑
 	result := make(map[string]interface{}, 0)
-	result["uploadImage"] = picIp+field
+	result["uploadImage"] = picIp + field
 	smUrl := make([]string, 0)
 	//for _, feature := range features {         // linux
 	// 鑾峰彇鍥剧墖

--
Gitblit v1.8.0