From 374a463828e30598a66f1ec8c7b30ae350f0584f Mon Sep 17 00:00:00 2001 From: James Page <james@uafrica.com> Date: Mon, 17 Oct 2022 14:54:08 +0200 Subject: [PATCH] #29 Updated UploadWithSettingsRevised to use file extension only if specified The UploadWithSettingsRevised function will now only add in the .ext if the FileExt setting key is specified. This allows us to specify a filename that includes the extension without that extension being overwritten or duplicated. --- s3/s3.go | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/s3/s3.go b/s3/s3.go index 0275af6..109ef48 100644 --- a/s3/s3.go +++ b/s3/s3.go @@ -158,10 +158,16 @@ func (s SessionWithHelpers) UploadWithSettingsRevised(data []byte, bucket string uuidString := "" if settings.InsertUUID { - uuidString = uuid.New().String() + uuidString = fmt.Sprintf("_%s", uuid.New().String()) } - fullFileName = fmt.Sprintf("%s%s_%s.%s", settings.FilePath, settings.FileName, uuidString, settings.FileExt) + if len(settings.FileExt) > 0 { + if settings.FileExt[0] != '.' { + settings.FileExt = fmt.Sprintf(".%s", settings.FileExt) + } + } + + fullFileName = fmt.Sprintf("%s%s%s%s", settings.FilePath, settings.FileName, uuidString, settings.FileExt) // Uploaded objects require a key if fullFileName == "" { -- GitLab