如何从文件夹中删除图像

时间:2015-11-17 10:47:25

标签: c#

当我上传新图片时,我想从文件夹中删除以前上传的图片。

以下是我上传图片的代码:

try
{
      string filename = Image1.ImageUrl.Substring(Image1.ImageUrl.IndexOf('/', Image1.ImageUrl.Length));
      if (fileupload.PostedFile.FileName.Length > 0)
      {                        
             filename = Path.GetFileName(fileupload.PostedFile.FileName);
             fileupload.SaveAs(Server.MapPath("~/Images/" + filename));
      }                    
      com.Parameters.AddWithValue("@Image",(filename.Length>0)? "Images/" + filename:string.Empty);
      com.ExecuteNonQuery();                    
}
catch (Exception ex)
{
      btnsub.Text = ex.Message;
}

这里我使用FileUpload将图像保存在名为图像的服务器文件夹中,所以在上传新图像之前,我想从文件夹中删除以前上传的图像。

我可以知道,如何删除以前上传的图片?

2 个答案:

答案 0 :(得分:8)

如何删除文件

var filePath = Server.MapPath("~/Images/" + filename);
if(File.Exists(filePath))
{
    File.Delete(filePath);
}

如何删除文件夹中的所有文件:

var folderPath = Server.MapPath("~/Images/");
System.IO.DirectoryInfo folderInfo = new DirectoryInfo(folderPath);

foreach (FileInfo file in folderInfo .GetFiles())
{
    file.Delete(); 
}
foreach (DirectoryInfo dir in folderInfo.GetDirectories())
{
    dir.Delete(true); 
}

答案 1 :(得分:0)

删除所有服务器文件夹文件

DirectoryInfo diInfo = new DirectoryInfo(Server.MapPath("foldername"));
FileInfo[] files = diInfo.GetFiles();
for (int i = 0; i < files.Length; i++)
{
  string filePath = Server.MapPath("~/foldername/" + files[i].ToString());
   if (File.Exists(filePath))
   {
      File.Delete(filePath);
   }
 }