Я показываю изображения каталога на сайте, и пользователь может загрузить и удалить содержимое этой папки. Однако по какой-то причине моя кнопка удаления ссылки не работает. Вот мой код для отображения изображений (Это не работает никаких проблем):Удалить файл из каталога asp.net C#
{
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();
}
Вот мой код для Delete Button Link (Это не работает):
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 0.1..ctor (String path, String originalUserPath, String searchPattern, SearchOption searchOption, SearchResultHandler`1 resultHandler, Boolean checkHost) + 445 System.IO.Directory.GetFiles (String path) +70
Хорошо, вам придется извинить, что я добрый нового для всего этого. Вы говорите, что эта строка говорит ему удалить мой каталог, а не файл в каталоге? Потому что я хочу удалить выбранный файл из каталога, а не из каталога. Как я могу найти выбранный файл? – Faron
@Faron - просто 'Path.Combine' каталог для имени файла, который вы хотите удалить. (Как получить значение из представления/формы на сервер - это отдельный вопрос, заданный много раз раньше). –