From 1980d9847c358356375d9d34752ef6a942a7bb75 Mon Sep 17 00:00:00 2001
From: panlei <2799247126@qq.com>
Date: 星期二, 25 六月 2019 14:35:06 +0800
Subject: [PATCH] 改图片序列化格式jpg

---
 util/upload.go               |    9 +++++++--
 go.sum                       |    2 ++
 insertdata/insertDataToEs.go |    2 +-
 go.mod                       |    1 +
 4 files changed, 11 insertions(+), 3 deletions(-)

diff --git a/go.mod b/go.mod
index 654f554..fe6b53c 100644
--- a/go.mod
+++ b/go.mod
@@ -17,6 +17,7 @@
 	github.com/tmthrgd/go-sem v0.0.0-20160607101025-0214dbf53877 // indirect
 	github.com/tmthrgd/go-shm v0.0.0-20170117044846-90afcfcd5ee9 // indirect
 	github.com/tmthrgd/shm-go v0.0.0-20170130075737-7207ca97b290 // indirect
+	gocv.io/x/gocv v0.20.0 // indirect
 	golang.org/x/sys v0.0.0-20190602015325-4c4f7f33c9ed // indirect
 	nanomsg.org/go-mangos v1.4.0 // indirect
 )
diff --git a/go.sum b/go.sum
index c7e9bed..6d2c0b9 100644
--- a/go.sum
+++ b/go.sum
@@ -39,6 +39,8 @@
 github.com/tmthrgd/go-shm v0.0.0-20170117044846-90afcfcd5ee9/go.mod h1:vy1jksyhzuQOMkHXMEi+X2bZ47ZeCn3QTnYdFBesABs=
 github.com/tmthrgd/shm-go v0.0.0-20170130075737-7207ca97b290 h1:5zW+TRr0WH4uN72/E/XYwb1PcaYN5BIB/FUbcQ0nHr0=
 github.com/tmthrgd/shm-go v0.0.0-20170130075737-7207ca97b290/go.mod h1:e9PZQr6zVezMTwj1v0j1YhGCNdS2zTCjXU9q9K+HHGk=
+gocv.io/x/gocv v0.20.0 h1:2q75zQ8Zel2tB69G6qrmf/E7EdvaCs90qvkHzdSBOAg=
+gocv.io/x/gocv v0.20.0/go.mod h1:vZETJRwLnl11muQ6iL3q4ju+0oJRrdmYdv5xJTH7WYA=
 golang.org/x/sys v0.0.0-20190602015325-4c4f7f33c9ed h1:uPxWBzB3+mlnjy9W58qY1j/cjyFjutgw/Vhan2zLy/A=
 golang.org/x/sys v0.0.0-20190602015325-4c4f7f33c9ed/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
 golang.org/x/tools v0.0.0-20180221164845-07fd8470d635/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ=
diff --git a/insertdata/insertDataToEs.go b/insertdata/insertDataToEs.go
index b636b18..b6a8ce2 100644
--- a/insertdata/insertDataToEs.go
+++ b/insertdata/insertDataToEs.go
@@ -188,7 +188,7 @@
 					}
 					i := protomsg.Image{}
 					err = proto.Unmarshal(bdata, &i)
-					resp,err = util.PostFormBufferData(weedfsUrl,i.Data,uuid.NewV4().String())
+					resp,err = util.PostFormBufferData(weedfsUrl,i,uuid.NewV4().String())
 					log.Println("宸叉姤璀﹀苟涓婁紶鏀瑰抚鍥剧墖鍒版湇鍔″櫒")
 				}else {
 					isAlarm = "0"
diff --git a/util/upload.go b/util/upload.go
index 1aff1fd..00aa0f9 100644
--- a/util/upload.go
+++ b/util/upload.go
@@ -1,6 +1,7 @@
 package util
 
 import (
+	"basic.com/pubsub/protomsg.git"
 	"bytes"
 	"encoding/json"
 	"errors"
@@ -10,9 +11,13 @@
 	"mime/multipart"
 	"net/http"
 	"time"
+	"gocv.io/x/gocv"
 )
 // 涓婁紶鍥剧墖锛堜簩杩涘埗娴侊級
-func PostFormBufferData(uri string, fileData []byte, fileName string,) (maps map[string]interface{}, err0 error) {
+func PostFormBufferData(uri string, img protomsg.Image, fileName string,) (maps map[string]interface{}, err0 error) {
+	imgs := gocv.NewMat()
+	imgs, _ = gocv.NewMatFromBytes(int(img.Height), int(img.Width), gocv.MatTypeCV8UC3, img.Data)
+	fdata,_ := gocv.IMEncode(".jpg",imgs)
 	body := &bytes.Buffer{}
 	writer := multipart.NewWriter(body)
 	_, err := writer.CreateFormFile("file", fileName)
@@ -22,7 +27,7 @@
 	boundary := writer.Boundary()
 	//close_string := fmt.Sprintf("\r\n--%s--\r\n", boundary)
 	close_buf := bytes.NewBufferString(fmt.Sprintf("\r\n--%s--\r\n", boundary))
-	file := bytes.NewBuffer(fileData)
+	file := bytes.NewBuffer(fdata)
 	request_reader := io.MultiReader(body, file, close_buf)
 	//_, err = io.Copy(part, file)
 	//writer.WriteField(key, val)

--
Gitblit v1.8.0