log
liuxiaolong
2019-08-06 b5df418bd3a9a332caa1559e96136c149b6f0e44
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"
   //根据人脸坐标扣出人脸小图
   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("上传到weedfs用时:", time.Since(t1))
   t1 = time.Now()
   if e != nil {
      fmt.Println(e.Error())
      return "", nil, e
@@ -623,6 +629,7 @@
   dbperson.FaceFeature = faceBase64 // 特征值base64 码
   result := addDbPerson(dbperson)
   logger.Debug("addDbPerson用时:", time.Since(t1))
   return fileNameOnly, result, nil
}
@@ -674,24 +681,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