以下是使用 Golang 将 Base64 图片上传到阿里云 OSS 的示例代码:

package main

import (
	"encoding/base64"
	"fmt"
	"io/ioutil"
	"log"
	"os"

	"github.com/aliyun/aliyun-oss-go-sdk/oss"
)

func main() {
	// 1. 读取 Base64 图片
	imageBase64 := 'base64-encoded-image'

	imageData, err := base64.StdEncoding.DecodeString(imageBase64)
	if err != nil {
		log.Fatal(err)
	}

	// 2. 创建 OSS 客户端
	client, err := oss.New('<your-endpoint>', '<your-access-key-id>', '<your-access-key-secret>')
	if err != nil {
		log.Fatal(err)
	}

	// 3. 获取存储桶
	bucketName := '<your-bucket-name>'
	bucket, err := client.Bucket(bucketName)
	if err != nil {
		log.Fatal(err)
	}

	// 4. 上传图片
	objectName := 'example.jpg'
	err = bucket.PutObject(objectName, ioutil.NopCloser(os.NewReader(string(imageData))))
	if err != nil {
		log.Fatal(err)
	}

	// 5. 输出图片 URL
	imageURL := fmt.Sprintf('https://%s.%s/%s', bucketName, '<your-endpoint>', objectName)
	fmt.Println(imageURL)
}

在上述代码中,需要替换以下参数:

  • '':OSS 的 Endpoint,例如 'oss-cn-hangzhou.aliyuncs.com'。
  • '':阿里云 Access Key ID。
  • '':阿里云 Access Key Secret。
  • '':存储图片的 OSS 存储桶名称。

注意,在实际应用中,应该对上传的图片进行类型、大小等限制和安全检查。

Golang 上传 Base64 图片到阿里云 OSS

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

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