add new imageHandler again

This commit is contained in:
Simon Rieger 2024-03-08 15:35:07 +01:00
parent 123433d156
commit e9e7ef2202

View file

@ -155,24 +155,23 @@ func uploadHandler(w http.ResponseWriter, r *http.Request) {
} }
func imageHandler(w http.ResponseWriter, r *http.Request) { func imageHandler(w http.ResponseWriter, r *http.Request) {
filePath := r.URL.Path[len("/view/"):] // Extrahieren des Bildnamens aus dem URL-Pfad
imagePath := "./uploads/" + filePath imagePath := "./uploads/" + r.URL.Path[len("/image/"):]
// Öffnen und Lesen der Bilddatei // Stellen Sie sicher, dass das Bild existiert
imageFile, err := os.Open(imagePath) if _, err := os.Stat(imagePath); os.IsNotExist(err) {
if err != nil {
http.Error(w, "Bild nicht gefunden", http.StatusNotFound) http.Error(w, "Bild nicht gefunden", http.StatusNotFound)
log.Printf("Fehler beim Öffnen des Bildes: %v", err) log.Printf("Bild nicht gefunden: %v", err)
return return
} }
defer imageFile.Close()
// Kopieren des Bildes in die HTTP-Antwort // Setzen der korrekten MIME-Type basierend auf der Dateiendung
_, copyErr := io.Copy(w, imageFile) // Optional, verbessert aber die Kompatibilität
if copyErr != nil { mimeType := "image/jpeg" // Standardwert; könnte dynamisch basierend auf der Dateiendung festgelegt werden
log.Printf("Fehler beim Senden des Bildes: %v", copyErr) w.Header().Set("Content-Type", mimeType)
return
} // Ausliefern des Bildes
http.ServeFile(w, r, imagePath)
} }
func viewHandler(w http.ResponseWriter, r *http.Request) { func viewHandler(w http.ResponseWriter, r *http.Request) {