0

一般的なmimeタイプでファイルを取得する方法はありますか?

例:すべての画像( "image / png、image / jpeg、...")の場合:

DirectoryInfo.GetFiles("image")
4

4 に答える 4

2

互換性の理由から、ファイルタイプを自分で配列に含めることをお勧めします。

string[] imagemime = new []{".jpg", ".gif", ".png", ".bmp", ".jpe", ".jpeg", ".wmf", ".emf", ".xbm", ".ico", ".eps", ".tif", ".tiff", ".g01", ".g02", ".g03", ".g04", ".g05", ".g06", ".g07", ".g08"};

次に、次のような方法を使用できます。

private static IEnumerable<string> GetFiles(string sourceFolder, string[] exts, System.IO.SearchOption searchOption)
    {
        return System.IO.Directory.GetFiles(sourceFolder, "*.*", searchOption)
                .Where(s=>exts.Contains(System.IO.Path.GetExtension(s), StringComparer.OrdinalIgnoreCase));
    }

ここで、他の選択肢とのパフォーマンスの比較を見ることができます。

于 2012-07-05T19:35:19.557 に答える
1

簡単ではありません。DirectoryInfoは、本質的にMIMEタイプ情報を含まないファイルシステムに反します。

GetFiles()と拡張子を使用して、拡張子ごとにすべてのファイルを取得できます。HKEY_CLASSES_ROOT\MIME\Database\Content Typeレジストリキーを押して、MIMEタイプのリストを拡張機能のリストに変えることもできます。

于 2012-07-05T19:19:55.193 に答える
0

よくわかりませんが、Directory.GetFilesのことですか?その場合は、次のような特定のファイル形式を検索できます。

Directory.GetFiles(filepath, ".png");
Directory.GetFiles(filepath, ".jpeg");
// etc...

拡張機能は、MIMEタイプを明確に示すものになります。

于 2012-07-05T19:19:52.943 に答える
0

DirectoryInfo.GetFilesメソッドを使用すると、?などのワイルド文字を使用しての検索パターンを配置できます。と *

したがって、DirectoryInfo.GetFilesには、mimeタイプでファイルを取得するオプションがありません。

ただし、UrlMonを使用して、次の投稿を参照できます。たとえば、.NETを使用して、拡張子ではなくファイル署名に基づいてファイルのmimeタイプを見つけるにはどうすればよいですか。

于 2012-07-05T19:23:26.020 に答える