0

すべての写真の名前をに表示したいlistbox。ファイル名を取得する方法を理解しようとしています。私はこれを試しました

protected void Page_Load(object sender, EventArgs e)
{
string u = Request.Url.AbsoluteUri.ToString();
string serverPath = u.Substring(0, u.LastIndexOf("/")) + "/UBOimages";
Label1.Text = serverPath;
DirectoryInfo dirInfo = new DirectoryInfo(Server.MapPath("~/UBOimages"));
//FileInfo[] fileInfo = dirInfo.GetFiles();
Label2.Text = dirInfo.ToString();
}

しかし、ラベルの結果は次のようになります。

http://localhost:49170/UBOimages
C:\Users\John\Documents\UBO\uboWebCustomer\HuronWood\HuronWood\UBOimages

サーバーにロードすると、dirInfoパスが気に入らないため、このページでエラーが発生します。フォルダ(画像フォルダなど)からすべてのファイルを取得する正しい方法は何ですか

4

4 に答える 4

3
    DirectoryInfo dirInfo = new DirectoryInfo(Server.MapPath("~/UBOimages"));
    FileInfo[] fileInfo = dirInfo.GetFiles("*.*", SearchOption.AllDirectories); 

この fileinfo 配列をループするか、任意の Gridview または listview にバインドします。

于 2012-12-07T10:43:54.210 に答える
1

'Data'という名前のフォルダーにあるすべてのファイルを取得する必要がある場合は、次のようにコーディングしてください。

 string[] Documents = System.IO.Directory.GetFiles("../../Data/");

これで、「ドキュメント」は、フォルダ「データ」内のファイルの完全なオブジェクト名の配列で構成されます。

于 2012-12-07T10:48:41.410 に答える
1

System.IO.DirectoryInfo.GetFiles特定のディレクトリのすべてのファイルを取得するのに役立ちます。

DirectoryInfo.ToStringディレクトリファイルの一覧表示に使用するためのものではありません。現在のDirectoryInfoオブジェクトの文字列表現が表示され、この場合はディレクトリパスであることがわかります。

于 2012-12-07T10:49:12.970 に答える
0

@私はあなたの問題に応じて私のコードを書くために上記の答えを使用しています!!!

Using System.IO

protected void ListFiles()
{
        const string MY_DIRECTORY = "/MyDirectory/";
        string strFile = null;
        foreach (string s in Directory.GetFiles(Server.MapPath(MY_DIRECTORY), "*.*")) {
                strFile = s.Substring(s.LastIndexOf("\\") + 1);
                ListBox1.Items.Add(strFile);
        }

お役に立てれば!!!

于 2012-12-07T10:50:15.157 に答える