GetObject
参考源码
参考文本
GetObject(bucketName, objectName string, opts GetObjectOptions) (*Object, error)
返回对象数据的流,error是读流时经常抛的那些错。
参数
参数 | 类型 | 描述 |
---|---|---|
bucketName |
string | 存储桶名称 |
objectName |
string | 对象的名称 |
opts |
minio.GetObjectOptions | GET请求的一些额外参数,像encryption,If-Match |
minio.GetObjectOptions
参数 | 类型 | 描述 |
---|---|---|
opts.Materials |
encrypt.Materials | encrypt 包提供的对流加密的接口,(更多信息,请看https://godoc.org/github.com/minio/minio-go/v7) |
返回值
参数 | 类型 | 描述 |
---|---|---|
object |
*minio.Object | minio.Object代表了一个object reader。它实现了io.Reader, io.Seeker, io.ReaderAt and io.Closer接口。 |
代码部分
func main() {
InitClient()
CreateBucket(BucketName)
// 我的网盘中存在 "MinIO_FastStart.txt"
objectName := "MinIO_FastStart.txt"
reader, err := MinioClient.GetObject(context.Background(), BucketName, objectName, minio.GetObjectOptions{})
if err != nil {
log.Fatalln(err)
}
defer reader.Close()
localFile, err := os.Create("./"+objectName)
if err != nil {
log.Fatalln(err)
}
defer localFile.Close()
stat, err := reader.Stat()
if err != nil {
log.Fatalln(err)
}
if _, err := io.CopyN(localFile, reader, stat.Size); err != nil {
log.Fatalln(err)
}
log.Printf(" success save the file %s " , objectName )
}