update websocket

This commit is contained in:
landaiqing
2024-10-17 23:41:40 +08:00
parent b5d88a7ccd
commit 31eabd4e55
6 changed files with 213 additions and 64 deletions

View File

@@ -1,7 +1,10 @@
package utils
import (
"encoding/base64"
"io"
"net/http"
"schisandra-cloud-album/global"
"time"
)
@@ -15,37 +18,41 @@ func GenerateAvatar(userId string) (baseImg string) {
path := "https://api.multiavatar.com/" + userId + ".png"
//// 创建请求
//request, err := http.NewRequest("GET", path, nil)
//if err != nil {
// return "", errors.New("image request error")
//}
//
//// 发送请求并获取响应
//respImg, err := client.Do(request)
//if err != nil {
// return "", errors.New("failed to fetch image")
//}
//defer func(Body io.ReadCloser) {
// err := Body.Close()
// if err != nil {
// return
// }
//}(respImg.Body)
//
//// 读取图片数据
//imgByte, err := io.ReadAll(respImg.Body)
//if err != nil {
// return "", errors.New("failed to read image data")
//}
//
//// 判断文件类型,生成一个前缀
//mimeType := http.DetectContentType(imgByte)
//switch mimeType {
//case "image/png":
// baseImg = "data:image/png;base64," + base64.StdEncoding.EncodeToString(imgByte)
//default:
// return "", errors.New("unsupported image type")
//}
return path
// 创建请求
request, err := http.NewRequest("GET", path, nil)
if err != nil {
global.LOG.Error(err)
return ""
}
// 发送请求并获取响应
respImg, err := client.Do(request)
if err != nil {
global.LOG.Error(err)
return ""
}
defer func(Body io.ReadCloser) {
err = Body.Close()
if err != nil {
global.LOG.Error(err)
return
}
}(respImg.Body)
// 读取图片数据
imgByte, err := io.ReadAll(respImg.Body)
if err != nil {
global.LOG.Error(err)
return ""
}
// 判断文件类型,生成一个前缀
mimeType := http.DetectContentType(imgByte)
switch mimeType {
case "image/png":
baseImg = "data:image/png;base64," + base64.StdEncoding.EncodeToString(imgByte)
default:
return ""
}
return baseImg
}