Gibt es eine Möglichkeit, den MIME-Typ einer Datei in Qt zu bekommen?Wie bekomme ich den MIME-Typ einer Datei in Qt?
Ich schreibe eine Anwendung, die den MIME-Typ einer bestimmten Datei finden muss.
Gibt es eine Möglichkeit, den MIME-Typ einer Datei in Qt zu bekommen?Wie bekomme ich den MIME-Typ einer Datei in Qt?
Ich schreibe eine Anwendung, die den MIME-Typ einer bestimmten Datei finden muss.
Sie müssen für diesen Zweck Bibliotheken von Drittanbietern verwenden, es gibt keine Mime-Typ-Raten-Unterstützung in Qt selbst. Unter Linux/Unix können Sie libmagic verwenden.
Qt 5 hat die Unterstützung für MIME-Typen hinzugefügt:
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
Siehe auch: http://doc.qt.io/qt-5/qmimetype.html
Qt5-Paket kann leicht nach Qt4 zurückportiert werden. Kompilieren Sie einfach alle Dateien unter Mimetyps und Standardpfade aus der Qt5-Quelle in eine Bibliothek oder zusammen mit Ihrer Anwendung. Einige Änderungen müssen vorgenommen werden, wenn die Quellen aus Qt 5.5+ stammen, glaube ich. – Marcus
#include <QMimeDatabase>
QString mimeType(const QString &filePath){ return QMimeDatabase().mimeTypeForFile(filePath).name(); }
Okay. Ich werde das untersuchen. –
Perfekt - das hat genau das gemacht, was ich mir erhofft hatte. –
Dies ist nicht mehr wahr. Qt bietet nun Mime-Type-Lookups an. – BuvinJ