package utils import ( "net/http" "time" ) // 获取网络图片 var client = &http.Client{ Timeout: 5 * time.Second, // 超时时间 } // GenerateAvatar 用于生成用户头像 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 }