From 0c37c84b7a870c159cc03e445dadc3772affbb7d Mon Sep 17 00:00:00 2001 From: liuxiaolong <736321739@qq.com> Date: 星期六, 20 七月 2019 11:57:37 +0800 Subject: [PATCH] fix person upload --- controllers/fileController.go | 16 ++++++++++------ service/FaceSdkService.go | 10 ++++++---- 2 files changed, 16 insertions(+), 10 deletions(-) diff --git a/controllers/fileController.go b/controllers/fileController.go index 7dbc615..adb1e6e 100644 --- a/controllers/fileController.go +++ b/controllers/fileController.go @@ -14,8 +14,10 @@ "log" "mime/multipart" "net/http" + "path" "strconv" "strings" + "time" "webserver/extend/code" "webserver/extend/config" "webserver/extend/esutil" @@ -71,7 +73,7 @@ // fastdfs 涓婁紶 鏆傚簾寮� //field := fdfsclient.UploadFileByBuffer(data, fileSuffix) } - field, result, err := uploadFileReturnAddr(file, filename, tableId) + fileNameOnly, result, err := uploadFileReturnAddr(file, filename, tableId) if err != nil { if err.Error() == "NotFeatureFindError" { util.ResponseFormat(c, code.NotFeatureFindError, filename) @@ -87,7 +89,7 @@ util.ResponseFormat(c, code.ServiceInsideError, result["data"]) } } else { - util.ResponseFormat(c, code.Success, field) + util.ResponseFormat(c, code.Success, fileNameOnly) } } @@ -103,7 +105,7 @@ //灏嗕笂浼犵殑鍥剧墖浜や汉鑴告娴嬪拰浜鸿劯鎻愬彇锛岃幏寰楃壒寰� fileBytes, _ := ioutil.ReadAll(file) - faceArr, err, pI := service.GetFaceFeaFromSdk(fileBytes) + faceArr, err, pI := service.GetFaceFeaFromSdk(fileBytes, time.Second*5) if err ==nil && len(faceArr) >0 { var faceBase64= "" var field = "" @@ -150,7 +152,7 @@ //灏嗕笂浼犵殑鍥剧墖浜や汉鑴告娴嬪拰浜鸿劯鎻愬彇锛岃幏寰楃壒寰� var faceBase64="" - faceArr, err,pI := service.GetFaceFeaFromSdk(fileBytes) + faceArr, err, pI := service.GetFaceFeaFromSdk(fileBytes, time.Second*5) if faceArr ==nil { return "",nil,errors.New("NotFeatureFindError") } @@ -179,17 +181,19 @@ field = field[idx+1:] } fmt.Println("field:",field) + ext := path.Ext(filename) + fileNameOnly := strings.TrimSuffix(filename, ext) dbperson := new(models.Dbtablepersons) dbperson.PersonPicUrl = field // 鍥剧墖璺粡 dbperson.TableId = tableId // - dbperson.PersonName = filename // 鍥剧墖鍚� + dbperson.PersonName = fileNameOnly // 鍥剧墖鍚� // 婕旂ずbase64缂栫爜 dbperson.FaceFeature = faceBase64 // 鐗瑰緛鍊糱ase64 鐮� result := addDbPerson(dbperson) - return field, result, nil + return fileNameOnly, result, nil } diff --git a/service/FaceSdkService.go b/service/FaceSdkService.go index a3f0387..8cbb403 100644 --- a/service/FaceSdkService.go +++ b/service/FaceSdkService.go @@ -17,6 +17,7 @@ File []byte Id string Result []*protomsg.ResultFaceDetect + DeadTime time.Duration } const ( @@ -29,8 +30,8 @@ Url_Service_PULL = Ipc_Url_Pre + Virtual_FaceSdkId + Ipc_Pull_Ext ) -func GetFaceFeaFromSdk(fileBytes []byte) ([]*protomsg.ResultFaceDetect,error,*protomsg.Image){ - s := NewFaceSdkService(fileBytes) +func GetFaceFeaFromSdk(fileBytes []byte,deadTime time.Duration) ([]*protomsg.ResultFaceDetect,error,*protomsg.Image){ + s := NewFaceSdkService(fileBytes, deadTime) i, err := s.ReadFromUploadImg() if err !=nil{ logger.Debug("readFromUploadImg err:",err) @@ -50,10 +51,11 @@ } } -func NewFaceSdkService(fileBytes []byte) FaceSdkService{ +func NewFaceSdkService(fileBytes []byte, deadTime time.Duration) FaceSdkService{ return FaceSdkService{ File:fileBytes, Id:uuid.NewV4().String(), + DeadTime:deadTime, } } @@ -135,7 +137,7 @@ func (s *FaceSdkService) GetFaceFea(){ var wg sync.WaitGroup wg.Add(1) - ticker := time.NewTicker(time.Second * 3) + ticker := time.NewTicker(s.DeadTime) go func(ticker *time.Ticker, s *FaceSdkService) { defer ticker.Stop() defer wg.Done() -- Gitblit v1.8.0