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