当我上传新图片时,我想从文件夹中删除以前上传的图片。
以下是我上传图片的代码:
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将图像保存在名为图像的服务器文件夹中,所以在上传新图像之前,我想从文件夹中删除以前上传的图像。
我可以知道,如何删除以前上传的图片?
答案 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);
}
}