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