在我们的ASP.NET程序中,用户可以将图像上传到文件夹.图像的位置(包括根目录中的上载文件夹的名称)存储为称为"路径"的变量,即."上传/ fileName.jpg".
要删除图像:
if (File.Exists("~/" + path))
{
File.Delete("~/" + path);
}
Run Code Online (Sandbox Code Playgroud)
但是,它无法运行,因为它无法验证文件是否存在.通过一些测试,我们注意到它正在"system32"目录中寻找"path".为什么会这样?
您需要使用Server.Map路径来确保正确解析Tilde.
MSDN文章在这里 - > http://msdn.microsoft.com/en-us/library/ms524632(v=vs.90).aspx
你的代码会变成
var fixedPath = Server.MapPath("~/" + path);
if (File.Exists(fixedPath))
{
File.Delete(fixedPath);
}
Run Code Online (Sandbox Code Playgroud)