liuxiaolong
2019-06-28 cefb30a1e8737b52e46da86f2decafb7d7e150f0
service/FaceSdkService.go
@@ -10,6 +10,7 @@
   "github.com/pkg/errors"
   "github.com/satori/go.uuid"
   "gocv.io/x/gocv"
   "io/ioutil"
   "mime/multipart"
   "sync"
   "time"
@@ -59,11 +60,12 @@
func (s *FaceSdkService) ReadFromUploadImg() (*protomsg.Image,error){
   defer (*(s.File)).Close()
   imgB := make([]byte,0)
   if _, err := (*(s.File)).Read(imgB);err !=nil{
   imgB, err := ioutil.ReadAll(*(s.File))
   if err !=nil{
      fmt.Println("File.Read err:",err)
      return nil,err
   }
   fmt.Println("imgB.len:",len(imgB))
   picMat, err := gocv.IMDecode(imgB, gocv.IMReadColor)
@@ -78,7 +80,7 @@
   }
   height := int32(picMat.Rows())
   width := int32(picMat.Cols())
   data := picMat.ToBytes()
   //data := picMat.ToBytes()
   timeUnix := time.Now().Unix()
   formatTimeStr := time.Unix(timeUnix, 0).Format("2006-01-02 15:04:05")
@@ -86,7 +88,7 @@
      Width: width,
      Height: height,
      Timestamp: formatTimeStr,
      Data: data,
      Data: imgB,
      Id: timeUnix,
      Cid:s.Id,
   },nil
@@ -120,7 +122,8 @@
   go func() {
      for {
         select {
         case <-time.Tick(time.Second*10):
         case <-time.Tick(time.Second*5):
            fmt.Println("倒计时结束")
            ch <- nil
            wg.Done()
            return
@@ -129,11 +132,15 @@
               fmt.Println("faceFea got!!!")
               ch <- feas
               return
            } else {
               fmt.Println("尚未拿到fea")
            }
         }
      }
   }()
   fmt.Println("wa.Wait")
   wg.Wait()
   fmt.Println("<-ch")
   msg := <- ch
   if msg != nil {
      return msg,nil