package main import ( "github.com/minio/minio-go/v6" "log" "net/url" "time" ) func main() { //http://10.10.14.242:9000/dsmin/IMG_20200512_114233.jpg?X-Amz-Algorithm=AWS4-HMAC-SHA256&X-Amz-Credential=5D2Q3FZ04LW4DIDW7R22%2F20200716%2F%2Fs3%2Faws4_request&X-Amz-Date=20200716T014856Z&X-Amz-Expires=432000&X-Amz-SignedHeaders=host&X-Amz-Signature=29371b8f457270b8cd4bc550d5643e5b2a72a071d802a7d091168b043f644bea s3Client, err := minio.New("10.10.14.242:9000", "5D2Q3FZ04LW4DIDW7R22", "C98uUVskiHjPaVmjTBPFdE6rh+wOJKtQIn1wvqvv", false) if err != nil { log.Fatalln(err) } reqParams := make(url.Values) reqParams.Set("response-content-disposition", "attachment; filename=\"IMG_20200512_114233.jpg\"") presignedURL, err := s3Client.PresignedGetObject("dsmin", "IMG_20200512_114233.jpg", time.Duration(1000)*time.Second, reqParams) if err != nil { log.Fatalln(err) } log.Println(presignedURL) }