func copyFile(bucket *s3.Bucket, from string, to string, contentType string, maxAge int) { copyOpts := s3.CopyOptions{ MetadataDirective: "REPLACE", ContentType: contentType, Options: s3.Options{ CacheControl: fmt.Sprintf("public, max-age=%d", maxAge), // ContentEncoding: "gzip", }, } _, err := bucket.PutCopy(to, s3.PublicRead, copyOpts, filepath.Join(bucket.Name, from)) if err != nil { panic(err) } }