使用 minio 上传图像缓冲区

uploading image buffer with minio

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

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)
}

我收到错误:无法使用 reader(类型 *bytes.Reader)作为 minioClient.FPutObject

参数中的类型字符串

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

您可以使用 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