Pdf浏览器请求进入深度冻结状态

时间:2010-11-11 15:34:59

标签: pdf browser download

客户的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的额外步骤是繁重的。但是如果浏览器崩溃就没有用。

如果有人听说过这个问题,请发表评论。

2 个答案:

答案 0 :(得分:6)

这可能不是您正在寻找的,但如果下载PDF足够或精细,这是您在发送内容时需要附加的HTTP标头:

Content-Disposition: attachment

这会强制浏览器弹出打开/保存对话框,并可能解决了IE浏览器的错误。

答案 1 :(得分:0)

我的问题是最新的Mozilla Fire Fox,Safari和IE 9.我通过打开adobe reader,编辑,首选项,取消选中保护模式来清除它。 Norton Anti Virus存在兼容性问题。 希望这有助于某人。