From 711e90df27648aff82eda78d16dbbc159cceb625 Mon Sep 17 00:00:00 2001
From: liuxiaolong <736321739@qq.com>
Date: 星期三, 18 九月 2019 14:16:39 +0800
Subject: [PATCH] fix fileUpload tip

---
 controllers/fileController.go |   43 +++++++++++++++++++++++++++++++++++--------
 1 files changed, 35 insertions(+), 8 deletions(-)

diff --git a/controllers/fileController.go b/controllers/fileController.go
index a4c67ae..db6a916 100644
--- a/controllers/fileController.go
+++ b/controllers/fileController.go
@@ -10,7 +10,9 @@
 	"fmt"
 	"github.com/gin-gonic/gin"
 	"github.com/satori/go.uuid"
+	"gocv.io/x/gocv"
 	"image"
+	"image/color"
 	"image/jpeg"
 	"io/ioutil"
 	"log"
@@ -25,7 +27,7 @@
 	"webserver/extend/code"
 	"webserver/extend/config"
 	"webserver/extend/esutil"
-	"webserver/extend/logger"
+	"basic.com/valib/logger.git"
 	"webserver/extend/util"
 	"webserver/models"
 	"webserver/service"
@@ -141,13 +143,31 @@
 			}
 		}
 		//2.澶у浘鐢绘,鏍囪瘑浜鸿劯浣嶇疆
-		originFilePath, _ := WeedFSClient.UploadFile(weedfsUri, "FaceUrl", fileBytes)
+		drawedB, _ := drawPolygonOnImg(pI, &faceArr)
+
+		originFilePath, _ := WeedFSClient.UploadFile(weedfsUri, "FaceUrl", *drawedB)
 		resultMap["uploadImage"] = originFilePath
 		resultMap["smImage"] = urlArr
 		util.ResponseFormat(c,code.Success, resultMap)
 	} else {
 		util.ResponseFormat(c,code.ComError,"鏈彁鍙栧埌浜鸿劯")
 	}
+}
+
+func drawPolygonOnImg(i *protomsg.Image,faceArr *[]*protomsg.ResultFaceDetect) (*[]byte,error) {
+	rook, _ := gocv.NewMatFromBytes(int(i.Height), int(i.Width), gocv.MatTypeCV8UC3, i.Data)
+	defer rook.Close()
+	//yellow := color.RGBA{255, 255, 0, 0}
+	red := color.RGBA{255, 0, 0, 0}
+	for _,faceResult := range *faceArr {
+		left := int(faceResult.Pos.RcFace.Left)
+		top := int(faceResult.Pos.RcFace.Top)
+		right := int(faceResult.Pos.RcFace.Right)
+		bottom := int(faceResult.Pos.RcFace.Bottom)
+		gocv.Rectangle(&rook, image.Rect(left,top,right,bottom), red, 1)
+	}
+	fData,err := gocv.IMEncode(".jpg", rook)
+	return &fData,err
 }
 
 type CompareResult struct {
@@ -600,7 +620,7 @@
 	logger.Debug("涓婁紶鍒皐eedfs鐢ㄦ椂:", time.Since(t1))
 	t1 = time.Now()
 	if e != nil {
-		fmt.Println(e.Error())
+		logger.Debug("WeedFSClient.UploadFile err:", e)
 		return "", nil, e
 	}
 
@@ -655,8 +675,15 @@
 			defer wg.Done()
 			tIStart := time.Now()
 			filename := head.Filename
+			fileExt := path.Ext(filename)
+			fileExt = strings.ToLower(fileExt)
+			if fileExt !=".jpg" && fileExt != ".jpeg" && fileExt != ".png" {
+				lock.Lock()
+				failList = append(failList, filename)
+				lock.Unlock()
+				return
+			}
 			file, err := head.Open()
-			fmt.Println(file, err, filename)
 			if err != nil {
 				lock.Lock()
 				failList = append(failList, filename)
@@ -680,11 +707,11 @@
 	addResult["failList"] = failList
 	addResult["fields"] = extNames
 
-	if len(successList)>0 {
+	//if len(successList)>0 {
 		util.ResponseFormat(c, code.DbPersonUploadSuccess, addResult)
-	} else {
-		util.ResponseFormat(c, code.DbPersonUploadFail, addResult)
-	}
+	//} else {
+	//	util.ResponseFormat(c, code.DbPersonUploadFail, addResult)
+	//}
 }
 
 type EsPersonSave struct {

--
Gitblit v1.8.0