2012-02-04 135 views
12

我卡試圖弄清楚如何打印出來,我在一個目錄存儲ASP/C#圖像通過目錄循環

我發現這一點,但問題是它打印出C:\ \視覺工作室2010 \項目\ MyTestUploader \文件\ img001.jpg

string[] fileEntries = Directory.GetFiles(sourceDir); 
foreach (string fileName in fileEntries) 
{ 
Label1.Text += "<img src=\"" + fileName + "" /><br />"; 
} 

現在我只想簡單地打印出目錄中的所有圖像。我會擔心格式化他們,後來:)

+0

什麼是你的問題? – 2012-02-04 16:26:08

+0

您是試圖將它們打印到打印機上,還是將它們顯示在計算機屏幕上? – DOK 2012-02-04 16:30:37

回答

15

您可以使用Path.GetFileName獲取指定的路徑的文件名和擴展名,而不包括目錄路徑(這大概是你想要的)。

string[] fileEntries = Directory.GetFiles(sourceDir); 
foreach (string fileName in fileEntries) 
{ 
    Label1.Text += "<img src=\"" + Path.GetFileName(fileName) + "\" /><br />"; 
} 

例如,調用

Path.GetFileName(@"C:\Visual Studios 2010\Projects\MyTestUploader\Files\img001.jpg") 

將返回"img001.jpg"

請注意,您也錯過了\以在屬性值的末尾轉義"

+0

啊,是啊,我很快從內存中輸入它,因爲我發佈時沒有實際訪問該項目 – sab669 2012-02-04 16:51:10

0

嘗試使用Directory.GetFiles(sourceDir, "*.jpg");

+0

這仍然包含路徑,但將返回的字符串文件路徑數組限制爲指定的* .jpg文件sourceDir。問題是如何從返回的文件路徑字符串數組中刪除路徑。 – codechurn 2012-02-04 16:50:15

+0

我誤解了這個問題:) – 2012-02-04 16:52:30

+0

儘管如此,這是一個有效的觀點。如果打算僅枚舉圖像文件,那麼這個修改也應該完成。 – Douglas 2012-02-04 16:55:59