欢迎访问优讯网!
您当前的位置:首页 > 爱编程

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

时间:2020-01-14 07:56:24  来源:优讯网  作者:小卡司  浏览次数:

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+CAYAAABqSkbiAAAAAXNSR0IArs4c6QAAA
ARnQU1BAACxjwv8Y/7X4brMvvM7xmf7bntD4EhFq1jmCx/4zZQJz+XWVV/Fm4PLJduhkcRyPDEhgKmKFI0DZi
lbx+KWxgbeCWCLV1DGGC+D8SZZII=")

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

4.附加七牛云go的文档地址

https://developer.qiniu.com/kodo/sdk/1238/go

来顶一下
返回首页
返回首页

本文未标明来源,如有侵权请联系发布者删除!


推荐资讯
如何下载旧版centos iso镜像 如何下载迷你mini版的centos镜像
如何下载旧版centos i
计算机的正确使用姿势 电脑痴如何正确的使用电脑
计算机的正确使用姿势
好用的后台管理的前端框架模版H-ui H-ui框架模版分享
好用的后台管理的前端
微信电脑多开方法 无需辅助电脑版微信双开方法分享
微信电脑多开方法 无
相关文章
栏目更新
栏目热门