From 1d19f646b399d6f80f2d156f87f0c75b4ab0cef7 Mon Sep 17 00:00:00 2001
From: liuxiaolong <736321739@qq.com>
Date: 星期五, 28 六月 2019 19:45:50 +0800
Subject: [PATCH] test

---
 controllers/fileController.go |   90 +++++++++++++++++++++++++++++++++++++++------
 1 files changed, 78 insertions(+), 12 deletions(-)

diff --git a/controllers/fileController.go b/controllers/fileController.go
index 1c1f606..6ff8fa5 100644
--- a/controllers/fileController.go
+++ b/controllers/fileController.go
@@ -1,20 +1,23 @@
 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 {
@@ -85,6 +88,40 @@
 	}
 }
 
+// @Description 浜哄憳鐓х墖涓婁紶骞惰幏鍙栫壒寰佸��
+// @Router /data/api-v/dbperson/fileUploadTest [POST]
+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, "鍙傛暟鏈夎")
+		return
+	}
+	//鏂囦欢鐨勫悕绉�
+	filename := header.Filename
+	fmt.Println(file, err, filename)
+	if err != nil {
+		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,"鏈彁鍙栧埌浜鸿劯")
+	}
+
+
+}
+
 /*// 瀵逛笂闈㈢殑缂栫爜缁撴灉杩涜base64瑙g爜
 decodeBytes, err := base64.StdEncoding.DecodeString(encodeString)
 if err != nil {
@@ -107,6 +144,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
@@ -116,15 +154,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 {
@@ -132,8 +183,23 @@
 	}
 }
 
-/**涓婁紶鏂规硶**/
+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)
+	return s.GetFaceFea()
+}
 
+/**涓婁紶鏂规硶**/
 
 // @Summary 鎵归噺娣诲姞搴曞簱浜哄憳
 // @Description  渚濇嵁鍥剧墖鎵归噺娣诲姞搴曞簱浜哄憳
@@ -240,7 +306,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