客户的pdf简报重量为1.63 MB,因此并不大。
我们发送一封电子邮件,其中包含指向pdf的链接。或者用户在网站的主页上找到链接。没关系。
问题是,当用户请求PDF时,浏览器有时会进入深度冻结状态。即,您需要使用任务管理器来终止浏览器实例。
您可以在此处测试pdf: Newsletter
困难之处在于它并不总是失败。以下是我在哪里以及我尝试过的内容的总结。
浏览器
最有可能使用pdf失败的浏览器是Google Chrome。但是,IE有时也会冻结。
ERROR
谷歌浏览器有时会返回以下错误(经过漫长的等待):
“处理页面时出错。发生了文件I / O错误。文件 连接超时。“
IE只是在没有呜咽的情况下冻死了。
ACROBAT VERSION
该文件最初由设计工作室在Adobe InDesign CS3中创建。我们刚收到pdf。我尝试使用Acrobat 7重新保存文件,以防出现兼容性问题。这似乎在一台机器上清除了问题,但在其他机器上却没有......
GOOGLE结果
Google搜索显示Chrome和PDF存在一些问题。我还没有找到任何解决方案。这仍然无法解释为什么IE有时失败。
其他措施
我在测试之间清除每个浏览器的缓存。所以它不能只是一个错误的下载。
使用ACROBAT PRO打开文件
以这种方式打开文件没有问题。
WEB服务器
Web服务器人员已经测试了该文件并且没有任何问题。他们可以在日志中找不到任何问题,这表明文件已下载,并且问题发生在浏览器中。
HELP!
该通讯原本应该在两天前消失,但我们在试图解决这个问题时持有它。坏消息是我已经没有想法了。
编辑:
解决方法:
我跟踪了pestaa的建议(见下面的答案),它提供了一个有效的解决方法。对于用户类型(脑炎的医疗慈善机构,可能让患者留下脑损伤)不是最佳的,但它有效。即,附上以下http标头:
Content-Disposition: attachment
为此,我创建了一个页面,其中包含一个包含以下代码的按钮:
protected void downloadButton_Click(object sender, EventArgs e)
{
string fileName = "newsletter49.pdf";
string filePath = Server.MapPath("~/images/ipdf/mailings/" + fileName);
Response.Clear();
Response.AppendHeader("content-disposition", "attachment; filename=" + fileName);
Response.ContentType = "application/octet-stream";
Response.WriteFile(filePath);
Response.Flush();
Response.End();
}
页面的html(包括按W3C标准要求下载Acrobat Reader的按钮):
<h2>
Our Autumn/Winter 2010 Newsletter is now available</h2>
<p>
Please click on the button below:</p>
<asp:Button ID="downloadButton" runat="server" OnClick="downloadButton_Click" Text="Download Newsletter" />
<div style="margin-top: 10px; border: 1px solid #ccc; background: #ebebeb; padding: 6px;">
<p>
If you do not have Adobe Acrobat Reader, you will not be able to read the Newsletter.
To get Acrobat Reader, click the button below and download it from Adobe's website:</p>
<a title="This link opens in a new window to allow you to download Adobe Reader!"
href="http://get.adobe.com/uk/reader" target="_blank">
<img alt="Get Adobe Reader for viewing PDF files" src="../Images/SharedImages/get_adobe_reader.gif"
style="border: none;" /></a>
</div>
我在等着看是否有人能够弄清楚pdf可能出现的问题。否则,pestaa会得到饼干。
编辑2:
我接受了pestaa的建议,认为这是唯一可靠的课程。不理想,因为这是一个可以产生脑损伤的综合症的医疗慈善机构,所以下载然后打开pdf的额外步骤是繁重的。但是如果浏览器崩溃就没有用。
如果有人听说过这个问题,请发表评论。
答案 0 :(得分:6)
这可能不是您正在寻找的,但如果下载PDF足够或精细,这是您在发送内容时需要附加的HTTP标头:
Content-Disposition: attachment
这会强制浏览器弹出打开/保存对话框,并可能解决了IE浏览器的错误。
答案 1 :(得分:0)
我的问题是最新的Mozilla Fire Fox,Safari和IE 9.我通过打开adobe reader,编辑,首选项,取消选中保护模式来清除它。 Norton Anti Virus存在兼容性问题。 希望这有助于某人。