liuxiaolong
2019-07-26 07385392f21fab8562c1ea551c5672c772dce20d
sdkmessage uncompress
2个文件已修改
39 ■■■■■ 已修改文件
extend/util/util.go 31 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
service/FaceSdkService.go 8 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
extend/util/util.go
@@ -7,6 +7,7 @@
    "errors"
    "github.com/gin-gonic/gin"
    "github.com/golang/glog"
    "github.com/pierrec/lz4"
    "gocv.io/x/gocv"
    "image"
    "net"
@@ -197,4 +198,32 @@
    }
    f, _ := strconv.ParseFloat(fmt.Sprintf("%2.2f", compareScore), 32)
    return float32(f)
}
}
// UnCompress uncompress
func UnCompress(in []byte) ([]byte, error) {
    out := make([]byte, 10*len(in))
    n, err := lz4.UncompressBlock(in, out)
    if err != nil {
        fmt.Println(err)
        return nil, err
    }
    out = out[:n] // uncompressed data
    return out, nil
}
// Compress compress
func Compress(in []byte) ([]byte, error) {
    out := make([]byte, len(in))
    ht := make([]int, 64<<10) // buffer for the compression table
    n, err := lz4.CompressBlock(in, out, ht)
    if err != nil {
        fmt.Println(err)
        return nil, err
    }
    if n >= len(in) {
        fmt.Println("image is not compressible")
    }
    out = out[:n] // compressed data
    return out, nil
}
service/FaceSdkService.go
@@ -11,6 +11,7 @@
    "sync"
    "time"
    "webserver/extend/logger"
    "webserver/extend/util"
)
type FaceSdkService struct {
@@ -262,7 +263,12 @@
        if err := proto.Unmarshal(resultBytes, &rMsg); err == nil {
            logger.Debug("received MSG:", rMsg.Cid)
            i := protomsg.Image{}
            err := proto.Unmarshal(rMsg.Data, &i)
            bdata, err := util.UnCompress(rMsg.Data)
            if err !=nil {
                logger.Debug("uncompress err:",err)
                continue
            }
            err = proto.Unmarshal(bdata, &i)
            if err !=nil {
                continue
            }