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  }