2010-10-02 11 views

Respuesta

4

Necesita utilizar bibliotecas de terceros para este fin, no hay soporte de adivinación tipo mimo en Qt. En Linux/Unix puedes usar libmagic.

+0

bien. Voy a investigar eso. –

+0

Perfecto, eso hizo exactamente lo que estaba esperando. –

+0

Esto ya no es cierto. Qt ahora ofrece búsquedas de tipo MIME. – BuvinJ

25

Qt 5 ha añadido soporte para los tipos 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 

Consulte también: http://doc.qt.io/qt-5/qmimetype.html

+0

El paquete Qt5 puede volverse fácilmente a Qt4. Simplemente compile todos los archivos en tipos mimet y standardpaths de la fuente Qt5 en una biblioteca o junto con su aplicación. Deben hacerse algunas modificaciones si las fuentes se toman de Qt 5.5+, creo. – Marcus

5
#include <QMimeDatabase> 

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

QString mime = QMimeDatabase(). MimeTypeForFile (ruta) .name(); – sonichy

+0

O, encapsula los detalles de implementación como tengo en esta función. – BuvinJ

Cuestiones relacionadas