我正在使用以下代码将PDF发送到浏览器
Response.ClearContent();
Response.ClearHeaders();
Response.AddHeader("Content-Length", fileBytes.Length.ToString());
Response.ContentType = "application/pdf";
Response.BinaryWrite(fileBytes);
Response.Flush();
System.Web.HttpContext.Current.ApplicationInstance.CompleteRequest();
对于除MAC中的Safari(版本5.x)之外的所有浏览器,它都能很好地嵌入(pdf在浏览器中正确嵌入)。此外,它适用于MAC中的Firefox和Chrome 我想知道这是一个浏览器问题吗?或者Response.BinaryWrite有什么问题?
[编辑]
Safari行为,pdf根本没有加载。显示一个进度条并继续加载,可能与安装的PDF插件有关吗?那么,如何弄清楚Safari中这种行为的原因?
[编辑]
在Safari开发人员工具控制台“无法加载资源:插件处理负载”中记录此错误,这似乎与PDF插件有关。
答案 0 :(得分:0)
试试这个,它和我合作很好
Response.ClearContent();
Response.ClearHeaders();
Response.ContentType = "application/pdf";
Response.Buffer = true;
Response.AppendHeader("Accept-Header", attachmentObj.AttachmentFile.Length.ToString());
Response.AppendHeader("content-disposition", "attachment; filename=\"" + HttpUtility.UrlEncode(attachmentObj.Description, System.Text.Encoding.UTF8) + "\"");
Response.AppendHeader("Pragma", "public");
Response.BinaryWrite((byte[])attachmentObj.AttachmentFile.ToArray());
Response.Flush();
Response.End();