可以使用以下代码将 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)
}
Golang 上传 Base64 图片到 Minio 并获取文件后缀名

原文地址: https://www.cveoy.top/t/topic/lHVD 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录