chore: update
This commit is contained in:
@@ -814,29 +814,21 @@ func UploadMedia(c *gin.Context) {
|
||||
}
|
||||
|
||||
// ✅ VÉRIFIER LE TYPE MIME RÉEL
|
||||
fileHeader, err := file.Open()
|
||||
detectedMime, err := validateFileMimeType(file)
|
||||
if err != nil {
|
||||
c.JSON(http.StatusInternalServerError, gin.H{"error": "Erreur lecture fichier"})
|
||||
return
|
||||
}
|
||||
defer fileHeader.Close()
|
||||
|
||||
buffer := make([]byte, 512)
|
||||
_, err = fileHeader.Read(buffer)
|
||||
if err != nil {
|
||||
c.JSON(http.StatusInternalServerError, gin.H{"error": "Erreur lecture fichier"})
|
||||
log.Printf("❌ [UploadMedia] Type MIME invalide: %v", err)
|
||||
c.JSON(http.StatusBadRequest, gin.H{"error": "Type de fichier non autorisé"})
|
||||
return
|
||||
}
|
||||
|
||||
mimeType := http.DetectContentType(buffer)
|
||||
log.Printf("📋 [UploadMedia] Type MIME détecté: %s", mimeType)
|
||||
log.Printf("📋 [UploadMedia] Type MIME détecté: %s", detectedMime)
|
||||
|
||||
// Vérifier que le MIME correspond au type déclaré
|
||||
if fileType == "image" && !strings.HasPrefix(mimeType, "image/") {
|
||||
if fileType == "image" && !strings.HasPrefix(detectedMime, "image/") {
|
||||
c.JSON(http.StatusBadRequest, gin.H{"error": "Le fichier n'est pas une image valide"})
|
||||
return
|
||||
}
|
||||
if fileType == "video" && !strings.HasPrefix(mimeType, "video/") {
|
||||
if fileType == "video" && !strings.HasPrefix(detectedMime, "video/") {
|
||||
c.JSON(http.StatusBadRequest, gin.H{"error": "Le fichier n'est pas une vidéo valide"})
|
||||
return
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user