QtでMIMEタイプと関連するアプリケーションを調べる

c++ mime-types qt
QtでMIMEタイプと関連するアプリケーションを調べる

特定のファイルのMIMEタイプまたはコンテンツタイプを見つけるにはどうすればよいですか? ファイルの名前を変更できるため、サフィックスを使用できません。

追加可能なものは、jpg、gif、pngなどが画像ファイルであり、OSで設定されたアプリケーションを編集することで開くことができるように分類することです。

前もって感謝します。

  4  1


ベストアンサー

どんなプラットフォーム? * nixでは、ファイルの最初の数バイトのチェックを含むいくつかのヒューリスティックに基づいたプログラム `file`の実行方法を参照する必要があります(多くのファイル形式は多くの画像形式を含む固定ヘッダーで始まります)。

Windowsを使用している場合、コードを直接再利用できない場合でも、* nix `file`コマンドはおそらく有益です。 また、Windows APIにはより良い解決策があるかもしれません(私はWindowsプログラマーではありません)。

1


これは役立つ可能性があります、C#を使用する場合ですが、アイデアを得ることができると思います。

qtからWindowsレジストリにアクセスしたり、qtから直接Windows APIを使用したりするには、何らかのクラスを使用できます。

私はqtプログラマーではありません。

1


Qt内からではなく、できません。

ただし、正しいアプリケーションでファイルを表示するだけであれば、http://doc.trolltech.com/latest/qdesktopservices.html#openUrl [QDesktopServices

openUrl()]を使用して、「open」をラップできます。 (Windows / OSX)および xdg-open(Unix)。 URLはローカルファイルの場合もあります(その場合、http://doc.trolltech.com/latest/qurl.html#fromLocalFile [QUrl :: fromLocalFile()]を使用してURLを作成します)。

1


画像ファイルを分類するため。 Qtおよび画像ファイルのみ。

QByteArray imageFormat = QImageReader::imageFormat(fileName); //Where fileName - path to your file

imageFormatをmime-typeにさらにマッピングすることはできません

0


Qtはまだその機能を提供しているようには見えません。 しかし、 `file`や他の同様のコマンドが行うことを行うlibmagicライブラリを調べたい場合があります。 ライブラリが適切に維持されていると仮定すると、時間が経つにつれて新しいMIMEタイプが含まれます。 私が知ることができるのは、ファイルツールスイートの一部です。 Debianシステムでは、次のようなことを行います。

sudo apt-get install libmagic-dev

開発ライブラリを取得し、#includeを使用して使用します。

0


タイトルとURLをコピーしました