minio的go客户端

写操作:

func MinioWrite(num int){
	client, err := minio.New(
		"127.0.0.1:9001",//地址
		&minio.Options{
			Creds:  credentials.NewStaticV4("minio", "minio123", ""),//账户密码
			Secure: false,
		},
	)
	if err != nil {
		panic(err)
	}
	 新建存储桶,如果有则无需创建
	//if err := client.MakeBucket(context.Background(), "image", minio.MakeBucketOptions{}); err != nil {
	//	panic(err)
	//}
	// 打开本地的图片
	f, err := os.Open("ability.jpg")//path
	if err != nil {
		panic(err)
	}
	defer f.Close()
	// 上传图片
	if _, err := client.PutObject(
		context.Background(),
		"image",
		fmt.Sprintf("test%v.jpg",num),//文件名
		f,
		-1,
		minio.PutObjectOptions{ContentType: "image/jpeg"},//文件类型
	); err != nil {
		panic(err)
	}
}

删除操作:

func MinioRemove(num int){
	client, err := minio.New(
		"127.0.0.1:9001",
		&minio.Options{
			Creds:  credentials.NewStaticV4("minio", "minio123", ""),
			Secure: false,
		},
	)
	if err != nil {
		panic(err)
	}

	// 删除图片
	if  err := client.RemoveObject(
		context.Background(),
		"image",
		fmt.Sprintf("test%v.jpg",num),
		minio.RemoveObjectOptions{},
	); err != nil {
		panic(err)
	}
}

下载操作

func MinioGet(num int){
	 新建存储桶
	//if err := client.MakeBucket(context.Background(), "image", minio.MakeBucketOptions{}); err != nil {
	//	panic(err)
	//}
		client, err := minio.New(
		"127.0.0.1:9001",//地址
		&minio.Options{
			Creds:  credentials.NewStaticV4("minio", "minio123", ""),//账户密码
			Secure: false,
		},
	)
	if err != nil {
		panic(err)
	}
	
	// 读图片
	ff,err := client.GetObject(
		context.Background(),
		"image",
		fmt.Sprintf("test%v.jpg",num),
		minio.GetObjectOptions{},
	)
	if  err != nil {
		panic(err)
	}
	//创建文件
	file3, error := os.Create(fmt.Sprintf("./test%v.jpg",num))
	if error != nil {
		fmt.Println(error)
	}
	text,_:=ioutil.ReadAll(ff)
	file3.Write(text)

	//fmt.Printf("创建成功!")
	defer file3.Close()
	//fmt.Print(f.Name())
	wg.Done()
}
使用Minio Golang客户端可以帮助您在Go应用程序中使用Minio对象存储服务。以下是使用Minio Golang客户端的步骤: 1. 安装Minio Golang客户端包 ```go go get github.com/minio/minio-go/v7 ``` 2. 初始化Minio Golang客户端 ```go package main import ( "context" "fmt" "github.com/minio/minio-go/v7" "github.com/minio/minio-go/v7/pkg/credentials" ) func main() { // 初始化Minio客户端对象 minioClient, err := minio.New("play.min.io", &minio.Options{ Creds: credentials.NewStaticV4("Q3AM3UQ867SPQQA43P2F", "zuf+tfteSlswRu7BJ86wekitnifILbZam1KYY3TG", ""), Secure: true, }) if err != nil { fmt.Println(err) return } // 使用minioClient操作对象存储服务 ... } ``` 3. 创建一个存储桶 ```go // 创建一个名为"test-bucket"的存储桶 err = minioClient.MakeBucket(context.Background(), "test-bucket", minio.MakeBucketOptions{}) if err != nil { fmt.Println(err) return } ``` 4. 上传文件到存储桶 ```go // 上传名为"test-object"的文件到存储桶 _, err = minioClient.FPutObject(context.Background(), "test-bucket", "test-object", "testfile.txt", minio.PutObjectOptions{}) if err != nil { fmt.Println(err) return } ``` 5. 下载存储桶中的文件 ```go // 下载名为"test-object"的文件到本地文件system err = minioClient.FGetObject(context.Background(), "test-bucket", "test-object", "/path/to/destination", minio.GetObjectOptions{}) if err != nil { fmt.Println(err) return } ``` 6. 列出存储桶中的所有对象 ```go objectsCh := make(chan minio.ObjectInfo) // 列出名为"test-bucket"的存储桶中的所有对象 go func() { defer close(objectsCh) for object := range minioClient.ListObjects(context.Background(), "test-bucket", minio.ListObjectsOptions{ Recursive: true, }) { if object.Err != nil { fmt.Println(object.Err) return } objectsCh <- object } }() for object := range objectsCh { fmt.Println(object.Key) } ``` 以上是使用Minio Golang客户端的基本步骤,您可以根据自己的实际需求进行调整。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值