ASP.NET MVC有File(outPdfStream," application / pdf")返回膨胀字节?

时间:2015-11-09 04:29:39

标签: c# asp.net-mvc pdf iis

在MVC控制器功能中,我有以下代码:

SpreadSheetGear

Firefox可以接收PDF响应并正确显示。 IE 10中的Adobe Reader XI插件抱怨"文件不以'%PDF'开头。本地\ EWH([b~rkqj"和Chrome抱怨格式不正确。当我通过Firefox保存PDF时,文件大小约为2.6 MB,但上面注释掉的代码将pdf保存到aaaa.pdf大小约为400k。文件可以在所有浏览器和PDF阅读器中打开并正确呈现。

显然,某种程度上,ASP.NET或IIS 7.5 / 8已经膨胀/污染了400KB,这是Firefox可以容忍的其他内容,而不是其他内容。通过VS调试器,我很确定函数返回时字节/流大约为400 KB,但不知何故,当响应离开IIS时,响应会变大几倍。

我使用的是MVC5和.NET 4.5,主机是Windows 7上的IIS EXpress,IIS 7.5,IIS8和带有所有最新补丁的Server 2012.

1 个答案:

答案 0 :(得分:1)

这是一个非常常见的问题。

在将pdf内容写入响应之前,您应该使用Response.Clear()清除响应,

然后应该调用Response.End()。

这只会将pdf内容发送给客户端。