2017-10-03 3 views
1

私はcodehind C#から画像を表示しているaspxページを持っています。 アップロードされたアイテムがあれば、すべてのアイテムに画像が入ったディレクトリがあります。 ディレクトリが特定の項目に対して存在しない場合を除き、正常に動作します。「パスの一部を見つけることができませんでした」という返信エラーが発生します。 割り当てられたイメージがないため、ディレクトリが存在しないことがあります。アイテムのディレクトリが存在しない場合の項目、私は自分のコードに含まれるべきである何がこれを無視するには、以下の イメージが存在するはずのディレクトリが存在しない場合、どのように表示イメージをC#でバイパスできますか?

は、画像を表示するために使用するコードです:?画像をフィルタリングする

string[] filePaths = Directory.GetFiles(Server.MapPath("/Test/Files/Item" + ItemNumber + "/")); 
List<ListItem> files = new List<ListItem>(); 
foreach (string filePath in filePaths) 
{ 
string fileName = Path.GetFileName(filePath); 
files.Add(new ListItem(fileName, "/Test/Files/Item" + ItemNumber + "/" + fileName)); 
} 
+0

'If(File.Exists(filePath)){//ここにループ内の既存のコード}' –

答えて

2

使用File.Exists方法見つからないファイル:

foreach (string filePath in filePaths.Where(File.Exists)) { 
    ... // 
} 

上記をコンパイルするには、using System.Linqusing System.IOを追加する必要があります。

注:上記はλ式の作成にmethod groupsを使用しています。 Where(File.Exists)は、Where(f => File.Exists(f))の簡略構文です。

関連する問題