C# 在ASP.NET MVC中使用FileResult时,请保持在同一页面而不是404
我在控制器中有以下代码:C# 在ASP.NET MVC中使用FileResult时,请保持在同一页面而不是404,c#,asp.net-mvc,C#,Asp.net Mvc,我在控制器中有以下代码: public ActionResult Download(string file){ ... ... if(System.IO.File.Exists(file)){ return File(File.Open(file, FileMode.Open, FileAccess.Read), contentType, newFilename); } return ??; //what should return
public ActionResult Download(string file){
...
...
if(System.IO.File.Exists(file)){
return File(File.Open(file, FileMode.Open, FileAccess.Read), contentType, newFilename);
}
return ??; //what should return here ?
}
如果不存在文件,则停留在调用该操作的页面上。怎么做
如果
返回null
,则将显示一个空白页。您可以通过查看此问题来完成此操作。第一个答案是提供您所需的一切:
return Redirect(HttpContext.Request.UrlReferrer.AbsoluteUri);
它给我错误:无法将表达式
重定向结果
转换为文件结果
@SnakeEyes是您真正的操作结果下载
还是文件结果下载
?我之所以这样问是因为重定向
生成了一个重定向结果
,它实现了操作结果
FileResult
还实现了ActionResult
。如果保留方法返回类型ActionResult
,则不应出现该问题