我从数据库中取出一个byte []并将其写入响应。在Firefox中,它要求保存,在IE9中它第一次显示“文件无法下载”,但是如果我点击重试则下载,Chrome会尝试在浏览器中打开它,但在中途挂起。如果我右键单击我的链接并将其保存到桌面,PDF打开就可以了,所以希望这里没有腐败。有没有更好的方法将其呈现给浏览器?下面的方法是在我的控制器中在MVC 4应用程序中调用的。
private void DownloadReport(byte[] data)
{
Response.ClearContent();
Response.ClearHeaders();
Response.ContentType = "application/pdf";
Response.BinaryWrite(data);
Response.Flush();
Response.Close();
}