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

相關文章
相關標籤/搜索