diff --git a/s3/s3.go b/s3/s3.go index 6dfe16dab43a9e3c4d7bfbb0df7556ead399028b..35d7a7fd7c93ecdb5c1681332662a5ef9d770695 100644 --- a/s3/s3.go +++ b/s3/s3.go @@ -32,6 +32,7 @@ type S3UploadSettings struct { RetrieveSignedUrl bool ExpiryDuration *time.Duration AddContentDisposition bool + FileName string } type MIMEType string @@ -123,9 +124,15 @@ func (s SessionWithHelpers) UploadWithSettings(data []byte, bucket, fileName str if settings.RetrieveSignedUrl { var headers map[string]string + + fileNameHeader := fileName + if settings.FileName != "" { + fileNameHeader = settings.FileName + } + if settings.AddContentDisposition { headers = map[string]string{ - "content-disposition": "attachment; filename=\"" + fileName + "\"", + "content-disposition": "attachment; filename=\"" + fileNameHeader + "\"", } }