J'ai chercher un peu partout pour savoir comment retrouver le type MIME d'un fichier. Quelqu'un m'a aidé sur ce forum à trouver la librairie libmagic alors voici comment je l'ai utilisé :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
#include <magic.h>
 
// Le type est retourné dans le buffer type envoyé en paramètres
void File::getMimeType(char* type)
{
	//Chemin de la base de donnée mime
	const char * magicFile = "/usr/share/file/magic";
 
	const char * tmp = m_path.c_str();
	magic_t m = magic_open(MAGIC_MIME);
	if(magic_errno(m) > 0)
	{
		Logger::logError(magic_error(m));
		return;
	}
 
	magic_load(m, magicFile);
	if(magic_errno(m) > 0)
	{
		Logger::logError(magic_error(m));
		return;
	}
 
	const char* resultTmp = magic_file(m, tmp);
	strcpy(type, resultTmp);
	if(magic_errno(m) > 0)
	{
		Logger::logError(magic_error(m));
		return;
	}
 
	magic_close(m);
	if(magic_errno(m) > 0)
	{
		Logger::logError(magic_error(m));
		return;
	}
}
N'oubliez pas d'installer la librairie libmagic!
Bonne chance.