Le MIME-Type est une données qui décrit la nature d’un fichier. Par exemple, un fichier texte aura un MIME Type différent d’un fichier Excel. Une image Jpeg aura un MIME-Type différent d’une image PNG.
Rôles du MIME-Type
Le MIME-Type a plusieurs rôles importants, tout d’abord il permet de connaitre la nature d’un fichier en bypassant l’extension du fichier qui peut être trompeur, ou d’un fichier qui a perdu son extension suite à un renommage.
Ensuite dans les communications entre programmes, il permet au receveurs d’une fichier de connaitre la nature de ce qui est reçu : entre un serveur web et un navigateur web. Dans les requêtes AJAX, c’est application/json qui est envoyé de part et d’autres.
Comment connaitre le MUIME-Type d’un fichier?
Nous allons nous intéresser au shell, avec la commande file (version >= 5)
La commande file nous permet de connaitre le MIME-Type d'un fichier $ file --mime-type image.png image.png: image/png $ file -b --mime-type image.png image/png $ file -i image.png image.png image./png; charset=binary
Connaitre le MIME-type dans deivers langages
#PHP
echo mime_content_type('image.png');
#NodeJS
const mime = require('mime');
const file_path = 'files\file.txt'
const mime_type = mime.getType(file_path)
#Javascript côté client
<input type="file" id="your-files" multiple>
<script>
let control = document.getElementById("your-files");
control.addEventListener("change", function(event) {
// When the control has changed, there are new files
let files = control.files,
for (var i = 0; i < files.length; i++) {
console.log("Filename: " + files[i].name);
console.log("Type: " + files[i].type);
console.log("Size: " + files[i].size + " bytes");
}
}, false);
</script>