Home >Backend Development >Golang >Practical tips: Use Go language to quickly integrate Qiniu Cloud interface
Practical tips: Use Go language to quickly integrate Qiniu Cloud interface
Introduction:
During the development process, we often need to use cloud storage to store and manage a large number of files. Qiniu Cloud is a leading cloud storage service provider, providing stable, efficient and secure cloud storage services. This article will introduce how to use Go language to quickly integrate Qiniu Cloud interface and give code examples.
1. Install SDK
Before we begin, we need to install the Qiniu Cloud SDK. Install the Go language SDK through the following command:
go get -u github.com/qiniu/api.v7
2. Configure Qiniu Cloud key and configuration
Before using Qiniu Cloud, we need to register an account on the Qiniu Cloud official website and create a Bucket. Then, we need to obtain the AccessKey and SecretKey of Qiniu Cloud and configure the corresponding file storage space.
We put AccessKey and SecretKey in a configuration file. Assuming that the file is config.ini, it can be configured in the following format:
[Qiniu] AccessKey = YOUR_ACCESS_KEY SecretKey = YOUR_SECRET_KEY Bucket = YOUR_BUCKET Domain = YOUR_DOMAIN
3. Initialize Qiniu Cloud Client
Next, we need to initialize a Qiniu Cloud client.
package main import ( "fmt" "github.com/qiniu/api.v7/auth/qbox" "github.com/qiniu/api.v7/storage" "gopkg.in/ini.v1" "log" ) var ( accessKey string secretKey string bucket string domain string putPolicy storage.PutPolicy mac *qbox.Mac uploader *storage.FormUploader cfg *storage.Config client *storage.Client ) func init() { cfg, _ = storage.NewConfigFromJSON([]byte(`{"Zone":"ZoneZoneAuto"}`)) client, _ = storage.NewClient(cfg) } func main() { // 读取配置文件 cfg, err := ini.Load("config.ini") if err != nil { log.Fatalf("读取配置文件错误:%v ", err) return } // 获取配置项 accessKey = cfg.Section("Qiniu").Key("AccessKey").String() secretKey = cfg.Section("Qiniu").Key("SecretKey").String() bucket = cfg.Section("Qiniu").Key("Bucket").String() domain = cfg.Section("Qiniu").Key("Domain").String() putPolicy = storage.PutPolicy{ Scope: bucket, } // 初始化Mac mac = qbox.NewMac(accessKey, secretKey) // 初始化uploader uploader = storage.NewFormUploader(client) }
In the above code, we used qiniu's auth/qbox and storage packages, and initialized some global variables, including Qiniu Cloud's AccessKey, SecretKey, Bucket, Domain and corresponding interface objects.
4. Upload files
Below we will show how to upload files to Qiniu Cloud.
func uploadFile(localFile, key string) error { ret := storage.PutRet{} err := uploader.PutFile(nil, &ret, putPolicy.UploadToken(mac), key, localFilePath, nil) if err != nil { return fmt.Errorf("上传文件错误:%v", err) } log.Printf("文件上传成功,文件名为:%s,ETag:%s ", ret.Key, ret.Hash) return nil } func main() { // ...省略其他代码... localFilePath := "test.jpg" key := "mytest.jpg" err := uploadFile(localFilePath, key) if err != nil { log.Fatalf("上传文件失败:%v ", err) return } }
In the above code, we defined a function named uploadFile to upload local files to Qiniu Cloud storage space. In the main function, we specify the path of the local file and the file name to be uploaded to Qiniu Cloud.
Summary:
This article introduces how to use Go language to quickly integrate Qiniu Cloud interface, and gives relevant code examples. Through these examples, we can easily use Qiniu Cloud's cloud storage service in our own projects. I hope this article can be helpful to developers using Qiniu Cloud.
The above is the detailed content of Practical tips: Use Go language to quickly integrate Qiniu Cloud interface. For more information, please follow other related articles on the PHP Chinese website!