unique names for thumbnails

This commit is contained in:
2025-03-14 00:28:09 +02:00
parent fcfa202162
commit bb2770e6bd

View File

@@ -2,6 +2,8 @@ package main
import ( import (
"bytes" "bytes"
"crypto/rand"
"encoding/base64"
"fmt" "fmt"
"io" "io"
"mime" "mime"
@@ -89,7 +91,15 @@ func (cfg *apiConfig) handlerUploadThumbnail(w http.ResponseWriter, r *http.Requ
return return
} }
path := filepath.Join(cfg.assetsRoot, videoIDString+"."+extension) thumbnailName := make([]byte, 32)
_, err = rand.Read(thumbnailName)
if err != nil {
respondWithError(w, http.StatusBadRequest, "Couldn't generate random name", err)
}
thumbnailPathName := base64.RawURLEncoding.EncodeToString(thumbnailName)
path := filepath.Join(cfg.assetsRoot, thumbnailPathName+extension)
f, err := os.Create(path) f, err := os.Create(path)
if err != nil { if err != nil {
@@ -103,7 +113,7 @@ func (cfg *apiConfig) handlerUploadThumbnail(w http.ResponseWriter, r *http.Requ
return return
} }
url := fmt.Sprintf("http://localhost:%s/assets/%s.%s", cfg.port, videoID, extension) url := fmt.Sprintf("http://localhost:%s/assets/%s%s", cfg.port, thumbnailPathName, extension)
video.ThumbnailURL = &url video.ThumbnailURL = &url