go语言后端开发学习——基于七牛云实现的资源上传模块
package main
import (
"fmt"
"github.com/qiniu/api/conf"
"github.com/qiniu/api/rs"
"github.com/qiniu/api/up"
"os"
)
func main() {
// 设置密钥和密钥库
conf.ACCESS_KEY = "你的Access Key"
conf.SECRET_KEY = "你的Secret Key"
// 要上传的文件路径
localFile := "/path/to/your/file"
// 构建上传的put policy
putPolicy := rs.PutPolicy{
Scope: "你的bucket名字",
}
// 生成上传token
upToken := putPolicy.Token(nil)
// 实例化配置结构体
cfg := up.Config{
Zone: up.Zone_z1, // 根据需要选择区域
BaseURL: "http://up-z1.qiniu.com", // 如果在七牛设置了自定义的上传域名,需要在这里设置
UseCdnDomains: false,
}
// 实例化上传
formUploader := up.NewFormUploader(&cfg)
// 上传文件
ret := up.PutRet{}
err := formUploader.PutFile(nil, &ret, upToken, "自定义文件名", localFile)
if err != nil {
fmt.Println(err)
return
}
fmt.Printf("Upload Success, File Hash: %s\n", ret.Hash)
}
这段代码展示了如何使用七牛云的Go SDK来实现文件上传功能。首先,你需要设置你的Access Key和Secret Key。然后,使用PutPolicy生成上传token,并配置上传所需的参数,包括区域和基础URL。最后,使用七牛提供的FormUploader来上传文件。上传成功后,它会打印文件的哈希值,这个哈希值可以用来标识文件。
评论已关闭