3

C# に拡張子がない場合にファイルの種類を確認するにはどうすればよいですか?

たとえば、.mp4 または .flv 形式 (拡張子なし) の拡張子のないファイルがあります。これらのビデオ ファイルをオーディオ ファイルに変換する予定ですが、変換を開始する前にファイルの種類を特定したいと考えています。C#でこれを行う方法はありますか?

ファイルの名前をname.mp4に変更してから、ファイルに対してA)成功する、つまりファイルが実際に.mp4であることを意味する、またはB)失敗するタスクを実行できるのではないかと考えていました。名前を .flv に変更します

次に、ファイルを適切な拡張子に変換します。.mp4 プロパティまたは .flv プロパティを参照できる c# のネイティブ プロセスはありますか? ファイルの名前を .mp4 に変更してから、Windows Media Player などのサード パーティ製アプリケーションで開き、名前が正しいかどうかを確認したくありません。

4

2 に答える 2

4

ファイルの内容の最初の数バイトを読み取って、ファイルの形式を知識に基づいて推測するという話を聞いたことがあります。このリンクは有望なようです:

.NET を使用して、拡張子ではなくファイル署名に基づいてファイルの MIME タイプを見つける方法

于 2012-03-17T04:50:33.393 に答える
3

私はこのユーティリティ ( TrID - File Identifier ) をプレイしましたが、かなり正確なようです。ファイルタイプ定義パッケージ (TrIDDefs) も最新です。

また、興味がある場合は、ファイル タイプ シグネチャ テーブルのリストを次に示します。リストは引き続き進行中です。

于 2012-03-17T05:59:52.457 に答える