github.com/qiniu/go-sdk/v7@v7.27.0/examples/resume_upload_advanced/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 recordDir = os.Getenv("RECORD_DIR") 21 ) 22 23 func main() { 24 putPolicy := storage.PutPolicy{ 25 Scope: bucket, 26 } 27 mac := auth.New(accessKey, secretKey) 28 upToken := putPolicy.UploadToken(mac) 29 30 cfg := storage.Config{} 31 // 是否使用https域名 32 cfg.UseHTTPS = false 33 // 上传是否使用CDN上传加速 34 cfg.UseCdnDomains = false 35 36 mErr := os.MkdirAll(recordDir, 0o755) 37 if mErr != nil { 38 fmt.Println("mkdir for record dir error,", mErr) 39 return 40 } 41 42 resumeUploader := storage.NewResumeUploader(&cfg) 43 ret := storage.PutRet{} 44 45 recorder, err := storage.NewFileRecorder(recordDir) 46 if err != nil { 47 fmt.Println(err) 48 return 49 } 50 if err = resumeUploader.PutFile(context.Background(), &ret, upToken, key, localFile, &storage.RputExtra{ 51 Recorder: recorder, 52 }); err != nil { 53 fmt.Println(err) 54 return 55 } 56 fmt.Println(ret.Key, ret.Hash) 57 }