// 创建兑换单 func (this Coupon) UploadBase64(ctx context.Context, req *pb.UploadBase64Request) []string { //获取兑换单 fmt.Println(req.Data) paths := make([]string, 0) for _, encodedString := range req.Data { sDec, _ := base64.StdEncoding.DecodeString(encodedString) //fmt.Println("图片", string(sDec)) //io. reader := bytes.NewReader(sDec) // file中没有单独列出扩展名,所以此处需要单独取一次 fileExt := `.png` // 此处重命名文件名 取此时的时间千分秒作为文件名 filename := time.Now().UnixMilli() // 以年月为文件目录进行分类 tTime := time.Now().Format("20060101") // 年月/文件名.扩展名(注意不要再定义的目录前面加/) ossFilePath := fmt.Sprintf("%s/%v%s", tTime, filename, fileExt) fmt.Println("文件路径", ossFilePath) fileOssPath, err := this.OSS.Upload(reader, ossFilePath) if err != nil { fmt.Println("oss错误", err) continue } paths = append(paths, fileOssPath) } fmt.Println("上传路径", paths) return paths }