4°

GO上传base64格式的图片到七牛

1.下载七牛扩展库

go get github.com/qiniu/api.v7

2.导入扩展库

import (
	"github.com/qiniu/api.v7/auth/qbox"
	"github.com/qiniu/api.v7/storage"
)

3.完整示例代码

package main

import ( "context" "fmt"

"github.com/qiniu/api.v7/auth/qbox"
"github.com/qiniu/api.v7/storage"

)

var ( accessKey = "TmRBqO9olxxPJ3dNKTHJKHGGFGq-9YxOqS46vZj-AMT" // 七牛的accessKey 去七牛后台获取 secretKey = "HPLxrnM5wK8D7FnTYw4l-xHJGFFDDDo9wKtpr9LqmCA" // 七牛的secretKey 去七牛后台获取 bucket = "youliaoit" // 上传空间 去七牛后台创建 )

func main() { // 鉴权 mac := qbox.NewMac(accessKey, secretKey)

// 上传策略
putPolicy := storage.PutPolicy{
	Scope:   bucket,
	Expires: 7200,
}

// 获取上传token
upToken := putPolicy.UploadToken(mac)

// 上传Config对象
cfg := storage.Config{}
cfg.Zone = &storage.ZoneHuanan //指定上传的区域
cfg.UseHTTPS = false           // 是否使用https域名
cfg.UseCdnDomains = false      //是否使用CDN上传加速

// 七牛key
qiniuKey := "qiniu/20200113/a.png"

// 构建上传的对象
base64Uploader := storage.NewBase64Uploader(&cfg)
ret := storage.PutRet{}

// 图片base64格式的数据 注意 需要去掉 前面类似data:image/png;base64,的数据
data := []byte("iVBORw0KGgoAAAANSUhEUgAAAE8AAAA+CAYAAABqSkbiAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8Y/7X4brMvvM7xmf7bntD4EhFq1jmCx/4zZQJz+XWVV/Fm4PLJduhkcRyPDEhgKmKFI0DZilbx+KWxgbeCWCLV1DGGC+D8SZZII=")

err := base64Uploader.Put(context.Background(), &ret, upToken, qiniuKey, data, nil)
if err != nil {
	fmt.Println("上传文件失败,原因:", err)
	return
}
fmt.Println("上传成功,key为:", ret.Key)

}

 

本文由【点滴课堂】发布于开源中国,原文链接:https://my.oschina.net/u/3223370/blog/3157870

全部评论: 0

    我有话说: