Я пытаюсь удалить файл из каталога в приложении asp.net, но всегда получаю исключение, что этот файл используется другим процессом, который вызван, вероятно, самим приложением ,Попытка удалить файл из каталога
это код
TableCell cell = (TableCell)PhotoGalleryGridView.Rows[e.RowIndex].Cells[1];
DirectoryInfo photoGalleryDirectory = new DirectoryInfo(Server.MapPath("~/GalleryImages/"));
FileInfo[] imgFiles = photoGalleryDirectory.GetFiles();
for (int i = 0; i < imgFiles.Length; i++)
{
if (imgFiles[i].Name == cell.Text)
{
imgFiles[i].Delete();
}
}
, как я должен преформ это действие? спасибо
Я реализовал это как часть использования метода OnRowDeleting из gridview, поэтому, когда я удаляю фотографию из базы данных, она также удалит фотографию из папки сайта.
protected void PhotoGalleryGridView_OnRowDeleting(object sender, GridViewDeleteEventArgs e)
{
TableCell cell = (TableCell)PhotoGalleryGridView.Rows[e.RowIndex].Cells[1];
DirectoryInfo photoGalleryDirectory = new DirectoryInfo(Server.MapPath("~/GalleryImages/"));
FileInfo[] imgFiles = photoGalleryDirectory.GetFiles();
for (int i = 0; i < imgFiles.Length; i++)
{
if (imgFiles[i].Name == cell.Text)
{
imgFiles[i].Delete();
}
}
}
Я более чем готов принять любые другие идеи для этого действия.
Прежде чем пытаться решить, как удалить заблокированный файл, я постараюсь узнать, почему и где файл был заблокирован! – Steve
ОК, как я могу сказать, что блокирует файл? –