github.com/qiniu/go-sdk/v7@v7.27.0/examples/form_upload_simple/main.go (about)

     1  package main
     2  
     3  import (
     4  	"context"
     5  	"fmt"
     6  	"os"
     7  
     8  	"github.com/qiniu/go-sdk/v7/auth"
     9  	"github.com/qiniu/go-sdk/v7/storage"
    10  )
    11  
    12  var (
    13  	accessKey = os.Getenv("QINIU_ACCESS_KEY")
    14  	secretKey = os.Getenv("QINIU_SECRET_KEY")
    15  	bucket    = os.Getenv("QINIU_TEST_BUCKET")
    16  	localFile = os.Getenv("LOCAL_FILE")
    17  	key       = os.Getenv("KEY")
    18  )
    19  
    20  func main() {
    21  	putPolicy := storage.PutPolicy{
    22  		Scope: bucket + ":" + key,
    23  	}
    24  
    25  	mac := auth.New(accessKey, secretKey)
    26  	upToken := putPolicy.UploadToken(mac)
    27  	cfg := storage.Config{}
    28  	// 空间对应的机房
    29  	cfg.Zone = &storage.ZoneHuadong
    30  	// 是否使用https域名
    31  	cfg.UseHTTPS = false
    32  	// 上传是否使用CDN上传加速
    33  	cfg.UseCdnDomains = false
    34  
    35  	// 构建表单上传的对象
    36  	formUploader := storage.NewFormUploader(&cfg)
    37  	ret := storage.PutRet{}
    38  	// 可选配置
    39  	putExtra := storage.PutExtra{
    40  		Params: map[string]string{
    41  			"x:name": "github logo",
    42  		},
    43  	}
    44  	err := formUploader.PutFile(context.Background(), &ret, upToken, key, localFile, &putExtra)
    45  	if err != nil {
    46  		fmt.Println(err)
    47  		return
    48  	}
    49  	fmt.Println(ret.Key, ret.Hash)
    50  }