Czy istnieje jakiś mechanizm w Qt który umożliwi mi po podaniu pełnej ścieżki do pliku zwrócenie jego typu i podtypu MIME ?
Hmmm...jest QFileInfo,ale w nim nic o mimach nie ma
może w webkit'cie będzie taki mechanizm?
Przeszukałem dokumentacje, fora i na jednym z nim było napisane że Qt nie ma takiej opcji:( No to teraz jak to zrobić? Jedyne co mi przychodzi do głowy to napisanie funkcji która otrzymuje jako argument rozszerzenie pliku i zwraca tym MIME zgodnie z tą listą http://www.feedforall.com/mime-types.htm. A może ktoś używał jakąś bibliotekę która to umożliwia albo ma lepszy pomysł?
to ma być multiplatformowe rozwiązanie, czy piszesz pod konkretny system?
edit:
to jeśli to ma być pod windows'a to może lepiej byłoby skorzystać z rejestru? Wydaje się, że pod "HKCR\.<bleble>\Content Type" znajdziesz to co cie interesuje.
poglądowy przykład:
QString get(const QString &srcFile)
{
QString suffix(QFileInfo(srcFile).suffix());
QString tmp(*qFind(QSettings("HKEY_CLASSES_ROOT",
QSettings::NativeFormat).childGroups(), "." +
suffix));
return QSettings("HKEY_CLASSES_ROOT\\" + tmp,
QSettings::NativeFormat).value("Content Type").toString();
}
O coś takiego mi chodziło :) jest tylko 1 minus, nie wszystkie rozszerzenia mają wartości "Content Type" i wtedy lipa, funkcja zwraca pusty napis, dla przykładu taki pdf... Ale napisałem już małą klase dla "najpopularniejszych" rozszerzeń, która zwraca ich typ MIME, więc dodam tylko 1 warunek, że jeżeli napis jest pusty zwróć wynik z mojej funkcji :) Dzięki za pomoc !