GO上传本地图片到七牛云

1.下载七牛扩展包git

go get github.com/qiniu/api.v7

2.导入扩展库github

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

3.完整上传本地图片代码api

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上传加速

	// 须要上传的文件
	localFile := "./test.png"

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

	// 构建表单上传的对象
	formUploader := storage.NewFormUploader(&cfg)
	ret := storage.PutRet{}

	// 上传文件
	err := formUploader.PutFile(context.Background(), &ret, upToken, qiniuKey, localFile, nil)
	if err != nil {
		fmt.Println("上传文件失败,缘由:", err)
		return
	}
	fmt.Println("上传成功,key为:", ret.Key)
}

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

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

相关文章
相关标签/搜索