c# – ASP.NET MVC 4 FileResult – 出错

我在控制器上有一个简单的Action,它返回一个PDF.

工作良好.

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

当管理器无法获得报告时,我返回null或空字节[].

当结果设置为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");
    }
}

翻译自:https://stackoverflow.com/questions/20335684/asp-net-mvc-4-fileresult-in-error