跳转至

PresignedGetObject

函数定义

PresignedGetObject(ctx context.Context, bucketName, objectName string, expiry time.Duration, reqParams url.Values) (*url.URL, error)

生成 HTTP GET 操作的预签名 URL。浏览器/移动客户端可以指向此 URL,即使存储桶是私有的,也可以直接下载对象。此预签名 URL 可以有一个关联的过期时间(以秒为单位),超过该时间后,它将不再可用。最大过期时间为 604800 秒(即 7 天),最小为 1 秒。

参数

参数 类型 描述
ctx context.Context 自定义上下文,用于超时或取消调用
bucketName string 存储桶的名称
objectName string 对象的名称
expiry time.Duration 预签名 URL 的到期时间(以秒为单位)
reqParams url.Values 附加响应头覆盖支持 response-expires、response-content-type、response-cache-control、response-content-disposition。

示例

// Set request parameters for content-disposition.
reqParams := make(url.Values)
reqParams.Set("response-content-disposition", "attachment; filename=\"your-filename.txt\"")

// Generates a presigned url which expires in a day.
presignedURL, err := minioClient.PresignedGetObject(context.Background(), "mybucket", "myobject", time.Second * 24 * 60 * 60, reqParams)
if err != nil {
    fmt.Println(err)
    return
}
fmt.Println("Successfully generated presigned URL", presignedURL)