From d25c4a2a64fad598071a8f2a2002119f0a07a600 Mon Sep 17 00:00:00 2001
From: liuxiaolong <736321739@qq.com>
Date: 星期五, 28 六月 2019 21:02:28 +0800
Subject: [PATCH] test
---
controllers/fileController.go | 96 ++++++++++++++++++++++++++++++++++++++++++------
1 files changed, 84 insertions(+), 12 deletions(-)
diff --git a/controllers/fileController.go b/controllers/fileController.go
index 1c1f606..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 {
@@ -85,6 +89,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 +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
@@ -116,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 {
@@ -132,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 渚濇嵁鍥剧墖鎵归噺娣诲姞搴曞簱浜哄憳
@@ -240,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