我正在显示网站上目录的图像,用户可以上传和删除此文件夹的内容。但是,由于某种原因,我的删除链接按钮不起作用。 这是我显示图像的代码(没有问题):
{
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
答案 0 :(得分:2)
指定无效的搜索路径"~/Images/Products/{0}"
会导致错误 - 不确定它应该是什么。
您正在尝试将目录删除为文件 - 因此下一个错误将出现在此行:
FileInfo fi = new FileInfo(Server.MapPath("~/Images/Products/"));
fi.Delete()
答案 1 :(得分:1)
FileInfo fi = new FileInfo(Server.MapPath("~/Images/Products/"));
在这里,您尝试将目录作为文件
启动string[] filesindirectory = Directory.GetFiles(Server.MapPath("~/Images/Products/{0}"));
这里你的目录路径无效 - 这个会抛出你的异常