Golang 上传 Base64 图片到阿里云 OSS
以下是使用 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 存储桶名称。
注意,在实际应用中,应该对上传的图片进行类型、大小等限制和安全检查。
原文地址: https://www.cveoy.top/t/topic/lH1h 著作权归作者所有。请勿转载和采集!