Как получить тип MIME файла в Qt?

есть ли способ получить тип MIME файла в Qt?

Я пишу приложение, которое должно найти тип MIME данного файла.

3 ответов


для этой цели вам нужно использовать сторонние библиотеки, в Qt нет поддержки угадывания типа mime. В Linux / Unix вы можете использовать libmagic.


Qt 5 добавила поддержку типов MIME:

http://doc.qt.io/qt-5/qmimedatabase.html

QString path("/home/my_user/my_file");
#if QT_VERSION >= QT_VERSION_CHECK(5, 0, 0)
    QMimeDatabase db;
    QMimeType type = db.mimeTypeForFile(path);
    qDebug() << "Mime type:" << type.name();
#endif

см. также:http://doc.qt.io/qt-5/qmimetype.html


#include <QMimeDatabase>  

QString mimeType( const QString &filePath ){ return QMimeDatabase().mimeTypeForFile( filePath ).name(); }