2009-03-18 18 views
1

私はasp.netウェブサイトを構築しています。私はページに画像を表示したいが、画像の名前は分かっているが、拡張子はわからない。画像の名前と拡張子の取得方法は?

画像ディレクトリを開いて、画像の名前を拡張子に関係なく取得したいとします。

+0

ディレクトリ内のファイルのリストを取得するためにディレクトリ・オブジェクトを使用できますか?何を試しましたか?何が起こった? –

答えて

8

あなたが持つ問題を抱えているこののどの部分

string imageFilename = System.IO.Directory.GetFiles(imageDirectory, name + ".*").First(); 
+0

これはかなり味の問題ですが、私はむしろconcat関数の代わりに "name +" *を使用したいと思います。同じ最終結果ですが、より読みやすくなります。 – vipirtti

+0

それは私にこのエラーを与えました: "System.ArgumentException:パスの不正な文字です。" –

+0

"System.ArgumentException:パスに不正な文字があります。" "\"文字をエスケープしていないときに発生します。 "C:\\"または@ "C:\"を入力してください。 – bstoney

2

これはファイルの仕組みではありません。名前全体を知る必要があります。たとえば、ベース名が同じで拡張子が異なる複数の画像がある場合はどうなりますか?たとえば、foo.pngfoo.jpgを比較してください。

1つの方法は、そのディレクトリ内の基本名を持つすべてのファイルに対してワイルドカード検索を試みることです(これはbstoneyの解決策です; see here)。ちょうど1つの試合が見つかると、あなたは完了です。複数の試合がある場合は、どの試合が勝つかについてルールを作る必要があります。

関連する問題