From 822ca2b8ab640317bbc9c5ea80a4846e0f4b48fe Mon Sep 17 00:00:00 2001 From: Jason Streifling Date: Sun, 7 Apr 2024 18:43:09 +0200 Subject: [PATCH] Use UUID as filename and strip alt off of extension --- cmd/view/articles.go | 10 +++++++--- go.mod | 1 + go.sum | 2 ++ 3 files changed, 10 insertions(+), 3 deletions(-) diff --git a/cmd/view/articles.go b/cmd/view/articles.go index 490390c..7c8534f 100644 --- a/cmd/view/articles.go +++ b/cmd/view/articles.go @@ -9,8 +9,10 @@ import ( "os" "path/filepath" "strconv" + "strings" "time" + "github.com/google/uuid" "streifling.com/jason/cpolis/cmd/control" "streifling.com/jason/cpolis/cmd/model" ) @@ -413,8 +415,9 @@ func UploadImage(c *control.CliArgs) http.HandlerFunc { } defer file.Close() - filename := fmt.Sprint(time.Now().Format("2006-01-02_15:04:05"), "-", - header.Filename) + nameStrings := strings.Split(header.Filename, ".") + extension := "." + nameStrings[len(nameStrings)-1] + filename := fmt.Sprint(uuid.New(), extension) absFilepath, err := filepath.Abs(fmt.Sprint(c.PicsDir, "/", filename)) if err != nil { log.Println(err) @@ -436,7 +439,8 @@ func UploadImage(c *control.CliArgs) http.HandlerFunc { return } - imgMD := fmt.Sprint("![", header.Filename, "](", c.Domain, "/pics/", filename, ")") + alt := strings.Join(nameStrings[0:len(nameStrings)-1], " ") + imgMD := fmt.Sprint("![", alt, "](", c.Domain, "/pics/", filename, ")") tmpl, err := template.ParseFiles(c.WebDir + "/templates/editor.html") template.Must(tmpl, err).ExecuteTemplate(w, "editor-images", imgMD) } diff --git a/go.mod b/go.mod index f9d1e4d..789ed0d 100644 --- a/go.mod +++ b/go.mod @@ -5,6 +5,7 @@ go 1.22.0 require ( git.streifling.com/jason/rss v0.1.2 github.com/go-sql-driver/mysql v1.7.1 + github.com/google/uuid v1.6.0 github.com/gorilla/sessions v1.2.2 github.com/microcosm-cc/bluemonday v1.0.26 github.com/yuin/goldmark v1.7.0 diff --git a/go.sum b/go.sum index 83a2be6..81666dc 100644 --- a/go.sum +++ b/go.sum @@ -6,6 +6,8 @@ github.com/go-sql-driver/mysql v1.7.1 h1:lUIinVbN1DY0xBg0eMOzmmtGoHwWBbvnWubQUrt github.com/go-sql-driver/mysql v1.7.1/go.mod h1:OXbVy3sEdcQ2Doequ6Z5BW6fXNQTmx+9S1MCJN5yJMI= github.com/google/gofuzz v1.2.0 h1:xRy4A+RhZaiKjJ1bPfwQ8sedCA+YS2YcCHW6ec7JMi0= github.com/google/gofuzz v1.2.0/go.mod h1:dBl0BpW6vV/+mYPU4Po3pmUjxk6FQPldtuIdl/M65Eg= +github.com/google/uuid v1.6.0 h1:NIvaJDMOsjHA8n1jAhLSgzrAzy1Hgr+hNrb57e+94F0= +github.com/google/uuid v1.6.0/go.mod h1:TIyPZe4MgqvfeYDBFedMoGGpEw/LqOeaOT+nhxU+yHo= github.com/gorilla/css v1.0.0 h1:BQqNyPTi50JCFMTw/b67hByjMVXZRwGha6wxVGkeihY= github.com/gorilla/css v1.0.0/go.mod h1:Dn721qIggHpt4+EFCcTLTU/vk5ySda2ReITrtgBl60c= github.com/gorilla/securecookie v1.1.2 h1:YCIWL56dvtr73r6715mJs5ZvhtnY73hBvEF8kXD8ePA=