From e72382b8c3093ac8cbbb3b79147c3387d37e8ffb Mon Sep 17 00:00:00 2001 From: zhangzengfei <zhangzengfei@smartai.com> Date: 星期五, 17 五月 2024 22:20:20 +0800 Subject: [PATCH] 添加图片下载功能 --- repository/captureRepo.go | 41 +++++++++++++++++++++++++++-------------- 1 files changed, 27 insertions(+), 14 deletions(-) diff --git a/repository/captureRepo.go b/repository/captureRepo.go index cddc2a6..505d6dc 100644 --- a/repository/captureRepo.go +++ b/repository/captureRepo.go @@ -3,9 +3,9 @@ import ( "encoding/base64" "encoding/json" - "gat1400Exchange/client" "time" + "gat1400Exchange/client" "gat1400Exchange/config" "gat1400Exchange/models" "gat1400Exchange/pkg/logger" @@ -43,16 +43,31 @@ // 鑾峰彇澶у浘, 鐩墠娴峰悍鐨勫皬鍥惧垎杈ㄧ巼澶綆 for _, image := range face.SubImageList.SubImageInfoObject { - if len(image.Data) > len(bgImageStr) { - bgImageStr = image.Data - imageType = image.Type + if imageType != "14" { + continue + } + + if len(image.Data) > 0 { + if len(image.Data) > len(bgImageStr) { + bgImageStr = image.Data + } + } else if image.StoragePath != "" { + imgData, err := util.ImageDownload(image.StoragePath, nil) + if err != nil { + logger.Warn("Image download failure, %s", err.Error()) + } else { + bgImageBytes = imgData + bgImageStr = "///" + } } } - bgImageBytes, err = base64.StdEncoding.DecodeString(bgImageStr) - if err != nil { - logger.Warn("Decode Image Base64 String failure, %s", err.Error()) - continue + if bgImageBytes == nil { + bgImageBytes, err = base64.StdEncoding.DecodeString(bgImageStr) + if err != nil { + logger.Warn("Decode Image Base64 String failure, %s", err.Error()) + continue + } } // 鍒ゆ柇鍥剧墖绫诲瀷鏄惁涓哄満鏅浘, 鏍规嵁浜鸿劯鍧愭爣鍒囧皬鍥�. @@ -71,18 +86,16 @@ } // 杞彂鍥惧儚 - logger.Debug("Prepare forward image, deviceId:%s, image len:%d, server:%s", deviceId, len(bgImageStr), config.ForwardConf.SyncServer) + logger.Debug("Prepare forward image, deviceId:%s, image len:%d, server:%s", deviceId, len(bgImageBytes), config.ForwardConf.SyncServer) if deviceId != "" && bgImageStr != "" && config.ForwardConf.SyncServer != "" { pd := c.PackPushDataV2(deviceId, faceId, face.FaceAppearTime, bgImageBytes, faceImageBytes) if pd == nil { return } - // 閮ㄧ讲鍦ㄦ湇鍔$鐨�1400浠g悊, 浠呮帴鏀�1400淇℃伅, 妤煎眰淇℃伅鏆傚瓨鍦╫herFeature瀛楁 - if config.ServeConf.Role == "proxy" { - if face.OtherFeature != "" { - pd.CameraFloor = face.OtherFeature - } + // 澶勭悊姊帶濉啓鐨勬ゼ灞備俊鎭� 鏆傛椂浣跨敤oherFeature瀛楁 + if face.OtherFeature != "" { + pd.CameraFloor = face.OtherFeature } payload, err := json.Marshal(pd) -- Gitblit v1.8.0