【发布时间】:2018-05-30 20:07:53
【问题描述】:
我正在尝试通过 ASP.NET 从服务器中删除文件我正在尝试像这样使用 System.IO.File.Delete:
try
{
var filePath = System.Web.HttpContext.Current.Server.MapPath("C:/www/project/Images/" + landingCells.imageBytes);
if (System.IO.File.Exists(filePath))
{
System.IO.File.Delete(filePath);
}
}
catch
{
return false;
}
但是每次它返回false时,我都可以将文件写入服务器:
try
{
System.IO.File.WriteAllBytes("C:/www/project/Images/" + filePath, bytes);
}
catch
{
return false;
}
但我无法删除文件,是的,文件路径和名称是正确的文件夹具有完全控制权,我做错了什么?
这是我得到的错误:
An error occured: ‘C:/www/project/Images/ANW00012018053015551423458244a89b23-5ed7-42a3-a2fc-4b15a90fb3cf.jpg' is a physical path, but a virtual path was expected.
【问题讨论】:
-
您确定文件路径正确吗?
"C:/www/project/Images/" + landingCells.imageBytes好像错了。 -
不要吞下异常。你得到了什么例外?
-
不要用
MapPath指定完整路径 -
可能正在使用中,请检查您是否正确处理元素等。异常消息并非微不足道!
-
这是一个字符串,顺便说一句
landingCells.imageBytes,从命名约定看来是字节数组什么的?
标签: asp.net asp.net-mvc