github.com/qiniu/go-sdk/v7@v7.27.0/examples/rs_batch_change_mime/main.go (about) 1 package main 2 3 import ( 4 "fmt" 5 "os" 6 7 "github.com/qiniu/go-sdk/v7/auth" 8 "github.com/qiniu/go-sdk/v7/storage" 9 ) 10 11 var ( 12 accessKey = os.Getenv("QINIU_ACCESS_KEY") 13 secretKey = os.Getenv("QINIU_SECRET_KEY") 14 bucket = os.Getenv("QINIU_TEST_BUCKET") 15 ) 16 17 func main() { 18 mac := auth.New(accessKey, secretKey) 19 20 cfg := storage.Config{ 21 // 是否使用https域名进行资源管理 22 UseHTTPS: false, 23 } 24 // 指定空间所在的区域,如果不指定将自动探测 25 // 如果没有特殊需求,默认不需要指定 26 // cfg.Zone=&storage.ZoneHuabei 27 bucketManager := storage.NewBucketManager(mac, &cfg) 28 chgmKeys := map[string]string{ 29 "github1.png": "image/x-png", 30 "github2.png": "image/x-png", 31 "github3.png": "image/x-png", 32 "github4.png": "image/x-png", 33 "github5.png": "image/x-png", 34 } 35 chgmOps := make([]string, 0, len(chgmKeys)) 36 for key, newMime := range chgmKeys { 37 chgmOps = append(chgmOps, storage.URIChangeMime(bucket, key, newMime)) 38 } 39 rets, err := bucketManager.Batch(chgmOps) 40 if err != nil { 41 // 遇到错误 42 if _, ok := err.(*storage.ErrorInfo); ok { 43 for _, ret := range rets { 44 // 200 为成功 45 fmt.Printf("%d\n", ret.Code) 46 if ret.Code != 200 { 47 fmt.Printf("%s\n", ret.Data.Error) 48 } 49 } 50 } else { 51 fmt.Printf("batch error, %s", err) 52 } 53 } else { 54 // 完全成功 55 for _, ret := range rets { 56 // 200 为成功 57 fmt.Printf("%d\n", ret.Code) 58 if ret.Code != 200 { 59 fmt.Printf("%s\n", ret.Data.Error) 60 } 61 } 62 } 63 }