forked from jason/cpolis
Show error messages in UI if something goes wrong
This commit is contained in:
@ -34,6 +34,24 @@ func UploadPDF(c *b.Config, s *b.CookieStore) http.HandlerFunc {
|
||||
}
|
||||
defer file.Close()
|
||||
|
||||
buffer := make([]byte, 512) // Should be enough for mime type
|
||||
if _, err := file.Read(buffer); err != nil {
|
||||
log.Println(err)
|
||||
http.Error(w, err.Error(), http.StatusInternalServerError)
|
||||
return
|
||||
}
|
||||
|
||||
if _, err := file.Seek(0, 0); err != nil {
|
||||
log.Println(err)
|
||||
http.Error(w, err.Error(), http.StatusInternalServerError)
|
||||
return
|
||||
}
|
||||
|
||||
if http.DetectContentType(buffer) != "application/pdf" {
|
||||
http.Error(w, "Die Datei ist kein PDF.", http.StatusInternalServerError)
|
||||
return
|
||||
}
|
||||
|
||||
filename := fmt.Sprint(uuid.New(), ".pdf")
|
||||
absFilepath, err := filepath.Abs(fmt.Sprint(c.PDFDir, "/", filename))
|
||||
if err != nil {
|
||||
|
Reference in New Issue
Block a user