重定向到 Action MVC 转换为 FILE RESULT
Redirect To Action MVC convert to FILE RESULT
这是我在 MVC 应用程序中下载文件的代码。我有一个奇怪的错误,我无法纠正它。错误是>
无法将类型 'System.Web.Mvc.RedirectToRouteResult' 隐式转换为 'System.Web.Mvc.FileResult'
我想要用这段代码的是,虽然有一个文件下载它,但如果没有文件(null)那么它什么都不做或什么都不做 return 什么都不做
public FileResult Download(string Doc)
{
string fullPath = Path.Combine(Server.MapPath("~/UploadFiles/"), Doc);
if (fullPath == null)
{
byte[] fileBytes = System.IO.File.ReadAllBytes(fullPath);
return File(fileBytes, System.Net.Mime.MediaTypeNames.Application.Octet, Doc);
}
return RedirectToAction("List");
}
将您的操作方法 return 类型更改为 ActionResult
RedirectResult
和 FileResult
都继承自此 ActionResult
摘要 class。
另外你的if条件也不通!它总是 false
因为 Path.Combine 会给你一个非空字符串值。您可能想检查磁盘中是否存在该文件?
public ActionResult Download(string Doc)
{
string fullPath = Path.Combine(Server.MapPath("~/UploadFiles/"), Doc);
if (System.IO.File.Exists(fullPath))
{
byte[] fileBytes = System.IO.File.ReadAllBytes(fullPath);
return File(fileBytes, System.Net.Mime.MediaTypeNames.Application.Octet, Doc);
}
return RedirectToAction("List");
}
您的代码现在应该可以编译了。
这是我在 MVC 应用程序中下载文件的代码。我有一个奇怪的错误,我无法纠正它。错误是> 无法将类型 'System.Web.Mvc.RedirectToRouteResult' 隐式转换为 'System.Web.Mvc.FileResult'
我想要用这段代码的是,虽然有一个文件下载它,但如果没有文件(null)那么它什么都不做或什么都不做 return 什么都不做
public FileResult Download(string Doc)
{
string fullPath = Path.Combine(Server.MapPath("~/UploadFiles/"), Doc);
if (fullPath == null)
{
byte[] fileBytes = System.IO.File.ReadAllBytes(fullPath);
return File(fileBytes, System.Net.Mime.MediaTypeNames.Application.Octet, Doc);
}
return RedirectToAction("List");
}
将您的操作方法 return 类型更改为 ActionResult
RedirectResult
和 FileResult
都继承自此 ActionResult
摘要 class。
另外你的if条件也不通!它总是 false
因为 Path.Combine 会给你一个非空字符串值。您可能想检查磁盘中是否存在该文件?
public ActionResult Download(string Doc)
{
string fullPath = Path.Combine(Server.MapPath("~/UploadFiles/"), Doc);
if (System.IO.File.Exists(fullPath))
{
byte[] fileBytes = System.IO.File.ReadAllBytes(fullPath);
return File(fileBytes, System.Net.Mime.MediaTypeNames.Application.Octet, Doc);
}
return RedirectToAction("List");
}
您的代码现在应该可以编译了。