asp.netmvc5中检查文件是否存在{returnFile("~/files/downloads/"+fileCode,"application/pdf",Server.UrlEncode(fileCode));}else{returnView("ErrorNotExistsView");我如何修改代码以正确检查文件是否存在?如果提供了绝对或相对路径,System.IO.File将起作用。相对路径不是相对于HTML根文件夹,而是相对于当前工作目录。当前工作目录类似于C:ProgramFiles(x86)IISExpress。文件路径开头的~字符仅被解释为当前ASP.NET上下文的一部分,而File方法对此一无所知。如果您使用的是控制器方法,则可以使用对象HttpContext.Server,否则(如在视图中)您可以使用HttpContext.Current.Server.MapPath。varrelativePath="~/files/downloads/"+fileCode+".pdf";varabsolutePath=HttpContext.Server.MapPath(relativePath);if(System.IO.File.Exists(absolutePath))....如果应用程序没有足够的权限访问文件,Exists()可以返回false。因此,您应该将这些文件授予appPool特定的文件夹和文件。这是我的解决方案:@{varprofileImg="/Images/"+User.Identity.GetUserId()+".jpg";varabsolutePath=HttpContext.Current.Server.MapPath(profileImg);if(System.IO.File.Exists(absolutePath)){}else{}}File.Exists()将需要完整路径。尝试使用类似:@"C:usersyourUsernamemyDocumentsfiles\downloads"+fileCode+".pdf"代替:"~/files/downloads/"+fileCode+".pdf"以上是C#学习教程:查看asp.netmvc5里面文件分享的内容有没有,如果对你有用,需要了解更多的C#学习教程,希望大家多多关注。本文收集自网络,不代表立场。如涉及侵权,请点击右侧联系管理员删除。如需转载请注明出处:
