我在返回PDF的 Controller 上有一个简单的Action。

工作良好。

public FileResult GetReport(string id)
{
    byte[] fileBytes = _manager.GetReport(id);
    string fileName = id+ ".pdf";
    return File(fileBytes, MediaTypeNames.Application.Octet, fileName);
}

当经理无法获得报告时,我会返回null或空的byte[]

当结果设置为FileResult时,如何与浏览器交流出现问题?

最佳答案

我会将您方法的返回类型更改为ActionResult。

public ActionResult GetReport(string id)
{
    byte[] fileBytes = _manager.GetReport(id);
    if (fileBytes != null && fileBytes.Any()){
        string fileName = id+ ".pdf";
        return File(fileBytes, MediaTypeNames.Application.Octet, fileName);
    }
    else {
        //do whatever you want here
        return RedirectToAction("GetReportError");
    }
}

关于c# - ASP.NET MVC 4 FileResult-错误,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/20335684/

10-11 02:12