awr*_*ley 5 browser pdf download
客户有一份重量为1.63 MB的pdf通讯,所以不是很大.
我们发送一封电子邮件,其中包含指向pdf的链接.或者用户在网站的主页上找到链接.没关系.
问题是,当用户请求PDF时,浏览器有时会进行深度冻结.即,您需要使用任务管理器来终止浏览器实例.
你可以在这里测试pdf: 时事通讯
让它变得困难的是它并不总是失败.以下是我在哪里以及我尝试过的内容的摘要.
BROWSERS
使用pdf失败的最可能的浏览器是Google Chrome.但是,IE有时也会冻结.
错误
谷歌浏览器有时会返回以下错误(经过漫长的等待):
"处理页面时出错.出现文件I/O错误.文件连接超时."
IE只是在没有呜咽的情况下冻死了.
ACROBAT版本
该文件最初由设计工作室在Adobe InDesign CS3中创建.我们刚收到pdf.我尝试使用Acrobat 7重新保存文件,以防出现兼容性问题.这似乎在一台机器上清除了问题,但在其他机器上却没有......
谷歌的结果
谷歌搜索显示Chrome和PDF存在一些问题.我还没有找到任何解决方案.这仍然无法解释为什么IE有时失败.
其他措施
我在测试之间清除每个浏览器的缓存.所以它不能只是一个错误的下载.
用ACROBAT PRO打开文件
以这种方式打开文件没有问题.
网络服务器
Web服务器人员已经测试了该文件并且没有任何问题.他们可以在日志中找不到任何问题,这表明文件已下载,并且问题发生在浏览器中.
救命!
该通讯本应该在两天前发布,但我们正在试图解决这个问题.坏消息是我已经没有想法了.
编辑:
解决方法:
我跟进了pestaa的建议(见下面的答案),它提供了一个有效的解决方法.对于用户类型(脑炎的医疗慈善机构,可能让患者留下脑损伤)不是最佳的,但它有效.即,附上以下http标头:
Content-Disposition: attachment
Run Code Online (Sandbox Code Playgroud)
为此,我创建了一个页面,其中包含一个包含以下代码的按钮:
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();
}
Run Code Online (Sandbox Code Playgroud)
页面的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>
Run Code Online (Sandbox Code Playgroud)
我在等着看是否有人能够弄清楚pdf可能出现的问题.否则,pestaa会得到饼干.
编辑2:
我已经接受了pestaa的建议,认为这是唯一可靠的课程.不理想,因为这是一个可以产生脑损伤的综合症的医疗慈善机构,所以下载然后打开pdf的额外步骤是繁重的.但是如果浏览器崩溃就没有用.
如果有人听说过这个问题,请发表评论.
这可能不是您正在寻找的,但如果下载PDF足够或精细,这是您在发送内容时需要附加的HTTP标头:
Content-Disposition: attachment
Run Code Online (Sandbox Code Playgroud)
这会强制浏览器弹出打开/保存对话框,并可能解决错误的IE案例.
| 归档时间: |
|
| 查看次数: |
1809 次 |
| 最近记录: |