如何在Qt中获取文件的MIME类型?
有没有办法在Qt中获取文件的MIME类型如何在Qt中获取文件的MIME类型?,qt,mime,Qt,Mime,有没有办法在Qt中获取文件的MIME类型 我正在编写一个需要查找给定文件的MIME类型的应用程序。为此,您需要使用第三方库,Qt本身不支持MIME类型猜测。在Linux/Unix上,您可以使用libmagic。Qt 5增加了对MIME类型的支持: QString路径(“/home/my_user/my_file”); #如果QT\u版本>=QT\u版本检查(5,0,0) QMIMEDB数据库; QMimeType type=db.mimeTypeForFile(路径); qDebug()#包括
我正在编写一个需要查找给定文件的MIME类型的应用程序。为此,您需要使用第三方库,Qt本身不支持MIME类型猜测。在Linux/Unix上,您可以使用libmagic。Qt 5增加了对MIME类型的支持:
QString路径(“/home/my_user/my_file”);
#如果QT\u版本>=QT\u版本检查(5,0,0)
QMIMEDB数据库;
QMimeType type=db.mimeTypeForFile(路径);
qDebug()#包括
QString mimeType(const QString&filePath){return QMimeDatabase().mimeTypeForFile(filePath).name();}
Perfect-这正是我所希望的。这不再是事实。Qt现在提供mime类型查找。Qt5包可以很容易地后端口到Qt4。只需将来自Qt5源代码的mimetypes和standardpath下的所有文件编译到库中或与应用程序一起编译即可。如果源代码取自Qt5.5+I-belize.QString mime=QMimeDatabase().mimeTypeForFile(path).name();或者,像在这个函数中一样封装实现细节。
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
#include <QMimeDatabase>
QString mimeType( const QString &filePath ){ return QMimeDatabase().mimeTypeForFile( filePath ).name(); }