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)
}
在上述代码中,需要替换以下参数:
<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存储桶名称。
注意,在实际应用中,应该对上传的图片进行类型、大小等限制和安全检查。
原文地址: https://www.cveoy.top/t/topic/vqP 著作权归作者所有。请勿转载和采集!