首页 文章

从目录asp.net删除文件c#

提问于
浏览
2

我正在显示网站上目录的图像,用户可以上传和删除该文件夹的内容 . 但是,由于某种原因,我的删除链接按钮不起作用 . 这是我显示图像的代码(它没有问题):

{
            string[] filesindirectory = Directory.GetFiles(Server.MapPath("~/Images/Products/"));
            List<String> images = new List<string>(filesindirectory.Count());

            foreach (string item in filesindirectory)
            {
                images.Add(String.Format("~/Images/Products/{0}", System.IO.Path.GetFileName(item)));
            }
            ListView1.DataSource = images;
            ListView1.DataBind();
        }

这是我的删除链接按钮的代码(这不起作用):

protected void deleteLinkButton_Click(object sender, EventArgs e)
    {
        var deleteButton = sender as LinkButton;
        string[] filesindirectory = Directory.GetFiles(Server.MapPath("~/Images/Products/{0}"));
        try
        {
            FileInfo fi = new FileInfo(Server.MapPath("~/Images/Products/"));
            fi.Delete();
            statusLabel2.Text = "Delete Image Successful!";
        }
        catch
        {
            // Display error
            statusLabel2.Text = "Delete Image Failed";
        }
        ListView1.DataBind();
    }

当我尝试删除文件时,我收到此错误:System.IO.DirectoryNotFoundException:找不到路径的一部分

我的堆栈跟踪显示:

System.IO .__ Error.WinIOError(Int32 errorCode,String maybeFullPath)359 System.IO.FileSystemEnumerableIterator 1.CommonInit() +268 System.IO.FileSystemEnumerableIterator 1..ctor(String path,String originalUserPath,String searchPattern,SearchOption searchOption,SearchResultHandler`1 resultHandler,Boolean checkHost)445 System.IO .Directory.GetFiles(String path)70

2 回答

  • 1

    您指定了无效的搜索路径 "~/Images/Products/{0}" ,它会给您错误 - 不确定它应该是什么 .

    您正在尝试将目录删除为文件 - 因此下一个错误将出现在此行上:

    FileInfo fi = new FileInfo(Server.MapPath("~/Images/Products/"));
    fi.Delete()
    
  • 2
    FileInfo fi = new FileInfo(Server.MapPath("~/Images/Products/"));
    

    在这里,您尝试将目录作为文件启动

    string[] filesindirectory = Directory.GetFiles(Server.MapPath("~/Images/Products/{0}"));
    

    在这里你有一个无效的目录路径 - 这个抛出你的异常

相关问题