package S3File import ( "github.com/gin-gonic/gin" "github.com/minio/minio-go/v6" "log" "time" ) //模块的路由配置 func Routers(r *gin.RouterGroup) { rr := r.Group("/Minio") //配置接口 rr.GET("/presignedUrl", presignedUrl) return } func presignedUrl(c *gin.Context) { //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) } uploadPresign,err:=s3Client.PresignedPutObject("dsmin","1.docx",time.Duration(1000)*time.Second*300) if err != nil { log.Fatalln(err) } log.Println(uploadPresign) //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) }