Golang 上传 Base64 图片到 Minio 并获取文件后缀名
可以使用以下代码将 Base64 格式的图片上传到 Minio,并获取文件后缀名。
首先,需要将 Base64 编码的字符串解码为字节切片。然后,使用 Minio 的 PutObject 函数将字节切片上传到指定的桶中。最后,使用 strings 包中的 Split 函数获取文件名和后缀名。
package main
import (
"encoding/base64"
"fmt"
"strings"
"github.com/minio/minio-go/v7"
)
func main() {
// 初始化 Minio 客户端
minioClient, err := minio.New("minio.example.com", "access-key", "secret-key", false)
if err != nil {
fmt.Println(err)
return
}
// Base64 编码的图片字符串
base64Str := 'data:image/jpeg;base64,/9j/4AAQSkZJRgABAQEASABIAAD...'
// 解码 Base64 字符串为字节切片
data, err := base64.StdEncoding.DecodeString(strings.Split(base64Str, ',')[1])
if err != nil {
fmt.Println(err)
return
}
// 上传字节切片到 Minio
_, err = minioClient.PutObject(context.Background(), "my-bucket", "my-object.jpg", bytes.NewReader(data), int64(len(data)), minio.PutObjectOptions{})
if err != nil {
fmt.Println(err)
return
}
// 获取文件名和后缀名
parts := strings.Split("my-object.jpg", '.')
fileName := parts[0]
fileExt := parts[1]
fmt.Printf("File Name: %s\n", fileName)
fmt.Printf("File Extension: %s\n", fileExt)
}
原文地址: https://www.cveoy.top/t/topic/lHVD 著作权归作者所有。请勿转载和采集!