猿问

使用 minio 上传图像缓冲区

我正在尝试使用 minio 将 image.Image (image.NRGBA) 上传到存储空间。这是我的代码:


buff := new(bytes.Buffer)


err = png.Encode(buff, image)

if err != nil {

    fmt.Println("failed to create buffer", err)

}


reader := bytes.NewReader(buff.Bytes())


n, err := minioClient.FPutObject(bucketName, objectName, reader, minio.PutObjectOptions{ContentType:contentType})

if err != nil {

    log.Fatalln(err)

}

我收到错误消息:不能在 minioClient.FPutObject 的参数中使用阅读器(类型 *bytes.Reader)作为类型字符串


慕标5832272
浏览 310回答 2
2回答

莫回无

minio包的函数FPut*采用文件名,即字符串。使用该PutObject函数(或其上下文变体)传入任何实现的内容io.Reader,例如您的reader变量。

慕容3067478

您可以使用PutObject.info, err := minioClient.PutObject(ctx, bucketName, objectName, reader, int64(len(bytes))), minio.PutObjectOptions{ContentType: contentType})API 文档位于https://docs.min.io/docs/golang-client-api-reference#PutObject
随时随地看视频慕课网APP

相关分类

Go
我要回答