如何在Qt中获取文件的MIME类型?

时间:2010-10-02 17:54:22

标签: qt mime

有没有办法在Qt中获取文件的MIME类型?

我正在编写一个需要查找给定文件的MIME类型的应用程序。

3 个答案:

答案 0 :(得分:26)

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

答案 1 :(得分:5)

#include <QMimeDatabase>  

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

答案 2 :(得分:4)

为此需要使用第三方库,Qt本身没有mime类型的猜测支持。在Linux / Unix上,您可以使用libmagic。