par

Comment puis-je vérifier le format d'un fichier, dans un formulaire HTML, avant upload, en JavaScript ?

J'ai un formulaire du type :

<input type="file" id="fichier"> 

Je voudrais n'autoriser que les formats images, merci.

1 Réponse

+1 validé
par

Pour vérifier le format d'un fichier avant upload, en JavaScript, on peut stocker la liste des extensions autorisées dans une variable et comparer ensuite les extensions.

Pour séparer l'extension du fichier, on peut utiliser les expressions régulières.

Voici un exemple pour vérifier qu'un fichier est une image au format gif, png, jpg ou jpeg :

<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>Comment vérifier le format d'un fichier avant upload en JavaScript ?</title>
</head>
<body>
<input type="file" id="fichier" onchange="return Validation()"> 
<script> 
function Validation() 
{ 
var fichier = document.getElementById('fichier'); 
var valeur = fichier.value; 
var extensions = /(\.jpg|\.jpeg|\.png|\.gif)$/i; 
	if (!extensions.exec(valeur))
	{ 
		alert('Format de fichier non valide'); 
		fichier.value = ''; 
		return false; 
	}  
	else  
	{ 
		if (fichier.files && fichier.files[0])
		{ 
			alert('Format de fichier valide');
		} 
	} 
} 
</script> 
</body>
</html>

Remarque : Pour des raisons de sécurité il est fortement conseillé de vérifier également le format de fichier coté serveur. Voici par exemple comment vérifier qu'un fichier est une image en PHP.

Lecture Recommandée

Edward Snowden - Mémoires vives

"Je m'appelle Edward Joseph Snowden. Avant, je travaillais pour le gouvernement mais aujourd'hui je suis au service de tous. Il m'a fallu près de trente ans pour saisir la différence et quand j'ai compris, ça m'a valu quelques ennuis au bureau."

L'homme qui a tout risqué pour dénoncer la surveillance globale, ou l'extraordinaire histoire d'un garçon brillant qui a grandi "en ligne", d'un homme devenu espion, puis lanceur d'alerte, et, en exil, la consciencce de l'internet.

Mémoires vives est un témoignage exceptionnel, également disponible en numérique.

Sujets Connexes

Offre Sponsorisée

Ailleurs sur le Web

Merci pour votre visite sur 1FORMATIK.com

Un petit clic sur la pub est toujours apprécié, c'est elle qui finance le site

Bon surf

...