以下是使用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)
}

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

  • <your-endpoint>:OSS的Endpoint,例如oss-cn-hangzhou.aliyuncs.com
  • <your-access-key-id>:阿里云Access Key ID。
  • <your-access-key-secret>:阿里云Access Key Secret。
  • <your-bucket-name>:存储图片的OSS存储桶名称。

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

golang 将base64图片上传到阿里云oss

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

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