我在访问PDF文件时解决了内存不足的问题,但现在看来当我尝试通过Chrome或Firefox访问大文件时,我会感到胡言乱语。它不会打开Adobe,它只是将其显示为包含数百万个字符的页面。我使用下面的代码将它提供给用户,任何想法为什么会这样做?
case "PDF":
context.Response.ContentType = "application/pdf";
context.Response.AddHeader("content-disposition", "inline; filename=" + asset.A_Name);
}
context.Response.BinaryWrite(content);
答案 0 :(得分:4)
您必须为响应添加内容长度标头。它是IIS分块编码的问题。看here。
context.Response.AddHeader("Content-Length", fileInfo.Length.ToString())
;
答案 1 :(得分:0)
是否已将任何内容写入Response流?请务必先拨打Response.Clear()
。