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