Ari*_*ule 12 c# asp.net-mvc file
我正在检查是否存在无法找到它的文件,无论它是否存在
if (System.IO.File.Exists("~/files/downloads/" + fileCode + ".pdf"))
{
return File("~/files/downloads/" + fileCode, "application/pdf", Server.UrlEncode(fileCode));
}
else
{
return View("ErrorNotExistsView");
}
Run Code Online (Sandbox Code Playgroud)
如何修改代码以正确检查文件是否存在?
And*_*erd 39
System.IO.File如果提供绝对路径或相对路径,则会起作用.相对路径不是相对于HTML根文件夹,而是相对于当前工作目录.当前工作目录将是一个值C:\Program Files (x86)\IIS Express.
~文件路径开头的字符仅被解释为当前ASP.NET上下文的一部分,File方法一无所知.
这里帮助你的方法是HttpServerUtility.MapPath
如果您使用的是控制器方法,则可以在对象上调用此方法HttpContext.Server,否则(例如在视图中)可以使用HttpContext.Current.Server.
var relativePath = "~/files/downloads/" + fileCode + ".pdf";
var absolutePath = HttpContext.Server.MapPath(relativePath);
if(System.IO.File.Exists(absolutePath)) ....
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
31140 次 |
| 最近记录: |