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)