2012-11-15 51 views
1

所以我想要做的是讓那些位於特定文件夾在我的項目或服務器上的所有圖像中的所有文件名(這幾乎是一樣的)中的字符串數組。如何從Visual Studio中的項目/服務器文件夾中獲取文件名?

我試着用

Directory.GetFiles(Server.MapPath(@"~/_img/_upload/")); 

但陣列保持爲空。任何人都可以幫助我嗎?

我很感激的幫助,提前致謝!

+0

是什麼的使用Server.Mappath'結果(@「〜/ _img/_upload /「)'?這是否是正確的物理路徑? –

+0

它以某種方式返回這個:'C:\\ Projects \\ VS12 \\ _ img \\ _ upload \\' 我不知道爲什麼它增加了兩個「//」 – webster69

+1

轉義字符...嘗試沒有'@'在你的'MapPath' –

回答

1

下面將得到所有的圖像到一個數組(如果你已經知道的目錄結構這會幫助你):

using System.IO; 
using System.Linq; 

var imagenames = String.Join(", ", Directory.GetFiles(@"C:\yourdirectory", "*.img").Select(filename => Path.GetFileNameWithoutExtension(filename)).ToArray()); 
0

在基地在你的評論,你從這個Server.MapPath(@"~/_img/_upload/")得到的結果是:

C:\\Projects\\VS12\_img\_upload\\

的主要問題是因爲@在C#意味着字符串應當使用「原樣」和不爲轉義序列處理。

沒有它,你的字符串值將是:\\_img\\_upload\\

對於未來的閱讀,我會建議this answer,我發現非常有用

相關問題