From 720cbb945fbf143c2957c2c20384fd272a2d6d2b Mon Sep 17 00:00:00 2001
From: liuxiaolong <736321739@qq.com>
Date: 星期二, 06 八月 2019 15:25:38 +0800
Subject: [PATCH] new fx fy in ReadFromUploadImg
---
controllers/fileController.go | 72 +++++++++++++++++------------------
1 files changed, 35 insertions(+), 37 deletions(-)
diff --git a/controllers/fileController.go b/controllers/fileController.go
index febd9cc..a4e1131 100644
--- a/controllers/fileController.go
+++ b/controllers/fileController.go
@@ -20,6 +20,7 @@
"sort"
"strconv"
"strings"
+ "sync"
"time"
"webserver/extend/code"
"webserver/extend/config"
@@ -598,8 +599,13 @@
}
var weedfsUri = "http://"+config.WeedFs.Ip+":"+strconv.Itoa(config.WeedFs.UploadPort)+"/submit"
//鏍规嵁浜鸿劯鍧愭爣鎵e嚭浜鸿劯灏忓浘
+ t1 := time.Now()
cutFaceImgData := util.SubImg(*pI, int(rcFace.Left), int(rcFace.Top), int(rcFace.Right), int(rcFace.Bottom))
+ logger.Debug("SubImg鐢ㄦ椂锛�", time.Since(t1))
+ t1 = time.Now()
fileInfo, e := esutil.PostFormData(weedfsUri, filename, "file", cutFaceImgData)
+ logger.Debug("涓婁紶鍒皐eedfs鐢ㄦ椂:", time.Since(t1))
+ t1 = time.Now()
if e != nil {
fmt.Println(e.Error())
return "", nil, e
@@ -623,30 +629,10 @@
dbperson.FaceFeature = faceBase64 // 鐗瑰緛鍊糱ase64 鐮�
result := addDbPerson(dbperson)
+ logger.Debug("addDbPerson鐢ㄦ椂锛�", time.Since(t1))
return fileNameOnly, result, nil
}
-
-//func getFaceFeaFromSdk(fileBytes []byte) ([]*protomsg.ResultFaceExtCom,error,*protomsg.Image){
-// s := service.NewFaceSdkService(fileBytes)
-// i, err := s.ReadFromUploadImg()
-// if err !=nil{
-// fmt.Println("readFromUploadImg err:",err)
-// return nil,err,i
-// }
-// bc, err := service.ImgCompress(i)
-// if err !=nil {
-// fmt.Println("ImgCompress err:",err)
-// return nil,err,i
-// }
-// s.PushImgMsg(bc)
-// s.GetFaceFea()
-// if s.Result == nil{
-// return nil,errors.New("no fea"),i
-// } else {
-// return s.Result,nil,i
-// }
-//}
/**涓婁紶鏂规硶**/
@@ -674,24 +660,36 @@
addResult := make(map[string]interface{}, 0)
successList := make([]string, 0)
failList := make([]string,0)
+ tAllStart := time.Now()
+ var wg sync.WaitGroup
+ var lock sync.Mutex
for _, head := range fileHeaders {
- //鏂囦欢鐨勫悕绉�
- filename := head.Filename
- file, err := head.Open()
- fmt.Println(file, err, filename)
- if err != nil {
- log.Fatal(err)
- }
-
- field, _, err1 := uploadFileReturnAddr(file, filename, tableId)
- //extNames = append(extNames, field)
-
- if err1 != nil || field == "" {
- failList = append(failList, filename)
- } else {
- successList = append(successList, filename)
- }
+ wg.Add(1)
+ go func(head *multipart.FileHeader,tableId string) {
+ defer wg.Done()
+ tIStart := time.Now()
+ filename := head.Filename
+ file, err := head.Open()
+ fmt.Println(file, err, filename)
+ if err != nil {
+ lock.Lock()
+ failList = append(failList, filename)
+ lock.Unlock()
+ return
+ }
+ field, _, err1 := uploadFileReturnAddr(file, filename, tableId)
+ lock.Lock()
+ if err1 != nil || field == "" {
+ failList = append(failList, filename)
+ } else {
+ successList = append(successList, filename)
+ }
+ lock.Unlock()
+ logger.Debug(filename,"鍒囧浘鐢ㄦ椂锛�",time.Since(tIStart))
+ }(head, tableId)
+ wg.Wait()
}
+ logger.Debug("鍒�",len(fileHeaders),"寮犱汉鑴哥敤鏃讹細", time.Since(tAllStart))
addResult["successList"] = successList
addResult["failList"] = failList
addResult["fields"] = extNames
--
Gitblit v1.8.0