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é :
N'oubliez pas d'installer la librairie libmagic!
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; } }
Bonne chance.
Partager