-1

ここに私のコードがあります:

単純なデータリストを使用して、画像フォームフォルダーを表示しています...

データリストの壊れた画像アイコンをクリックすると、エラーが表示されます リソースが見つかりません。

説明: HTTP 404。探しているリソース (またはその依存関係の 1 つ) は、削除されたか、名前が変更されたか、一時的に利用できない可能性があります。次の URL を見直して、スペルが正しいことを確認してください。

要求された URL: /WebSite2/Images/Desert.jpg

protected void BindDataList()
{
    DirectoryInfo dir = new DirectoryInfo(MapPath(@"~/Images/"+Model.Text+"/"));
    FileInfo[] files = dir.GetFiles();
    ArrayList listItems = new ArrayList();
    foreach (FileInfo info in files)
    {
        listItems.Add(info);
    }
    DataList1.DataSource = listItems;
    DataList1.DataBind();
}

protected void upload_Click(object sender, EventArgs e)
{
    string filename = Path.GetFileName(FileUpload1.PostedFile.FileName);
    FileUpload1.SaveAs(Server.MapPath("Images/"+Model.Text+"/" + filename));
    BindDataList();
}


protected void newfolder_Click(object sender, EventArgs e)
{
    string NewDirectory = Server.MapPath("Images/"+Model.Text);
    //New Directory Name in string variable
    CreateDirectoryIfNotExists(NewDirectory);
    //Calling the function to create new directory
}

private void CreateDirectoryIfNotExists(string NewDirectory)
{
    try
    {
        // Checking the existance of directory
        if (!Directory.Exists(NewDirectory))
        {
            //If No any such directory then creates the new one
            Directory.CreateDirectory(NewDirectory);
            Label1.Text = "Directory Created";
        }
        else
        {
            Label1.Text = "Directory Exist";
        }
    }
    catch (IOException _err)
    {
        Label1.Text = _err.Message; ;
    }
}
4

2 に答える 2

0

すべてのパス定義は、次をルートにする必要があります~/

protected void upload_Click(object sender, EventArgs e)
{
    string filename = Path.GetFileName(FileUpload1.PostedFile.FileName);
    FileUpload1.SaveAs(Server.MapPath("~/Images/"+Model.Text+"/" + filename));
    BindDataList();
}

protected void newfolder_Click(object sender, EventArgs e)
{
    string NewDirectory = Server.MapPath("~/Images/"+Model.Text);
    //New Directory Name in string variable
    CreateDirectoryIfNotExists(NewDirectory);
    //Calling the function to create new directory
}
于 2013-04-25T06:37:33.113 に答える
0

これを試してください:

protected void BindDataList()
{
    var imgDir = HttpContext.Current.Server.MapPath(string.Format(@"~/Images/{0}/", Model.Text));
    DirectoryInfo dir = new DirectoryInfo(imgDir);
    FileInfo[] files = dir.GetFiles();
    ArrayList listItems = new ArrayList();
    foreach (FileInfo info in files)
    {
        listItems.Add(info);
    }
    DataList1.DataSource = listItems;
    DataList1.DataBind();
}

protected void upload_Click(object sender, EventArgs e)
{
    string filename = Path.GetFileName(FileUpload1.PostedFile.FileName);
    var imgPath = HttpContext.Current.Server.MapPath(string.Format(@"~/Images/{0}/{1}", Model.Text, filename));

    FileUpload1.SaveAs(imgPath);
    BindDataList();
}

protected void newfolder_Click(object sender, EventArgs e)
{
    var imgDir = HttpContext.Current.Server.MapPath(string.Format(@"~/Images/{0}/", Model.Text));
    //New Directory Name in string variable
    CreateDirectoryIfNotExists(imgDir);
    //Calling the function to create new directory
}
于 2013-04-25T06:38:26.647 に答える