Asp.net 如果使用“另存链接为”,则将加载pdf,但如果用户单击链接,则不会加载pdf

Asp.net 如果使用“另存链接为”,则将加载pdf,但如果用户单击链接,则不会加载pdf,asp.net,pdf,asp.net-ajax,updatepanel,Asp.net,Pdf,Asp.net Ajax,Updatepanel,提交表单后,用户将看到一个指向pdf文档的链接。 链接直接指向文档,而不是流式链接 如果用户右键单击并选择“将链接另存为”,文档将正常保存和打开。但是,如果用户只是单击链接,浏览器需要很长时间才能响应我猜大概需要3分钟,然后adobe reader会给出以下错误: 文件已损坏,无法修复 这在Chrome v5、ASP.NET 3.5中,链接在UpdatePanel中返回。这取决于为PDF链接配置的浏览器设置。如果更改broweser中的设置,您将获得下载对话框 Mozilla Firefox 打

提交表单后,用户将看到一个指向pdf文档的链接。 链接直接指向文档,而不是流式链接

如果用户右键单击并选择“将链接另存为”,文档将正常保存和打开。但是,如果用户只是单击链接,浏览器需要很长时间才能响应我猜大概需要3分钟,然后adobe reader会给出以下错误:

文件已损坏,无法修复


这在Chrome v5、ASP.NET 3.5中,链接在UpdatePanel中返回。

这取决于为PDF链接配置的浏览器设置。如果更改broweser中的设置,您将获得下载对话框

Mozilla Firefox

打开Mozilla Firefox 单击“工具”,然后单击“选项” 在选项窗口中,单击应用程序 选择要调整的内容类型。例如,如果要更改.PDF文件在Firefox中的打开方式,请选择Adobe Acrobat Document。 在“操作”部分,将操作更改为您希望打开文件的方式。如果要下载.PDF文件而不是打开它们,请选择“保存文件”。 Internet Explorer:

您必须右键单击并单击“目标另存为”以下载

另一个选项是,创建一个单独的asp.net并编写以下代码以下载PDF

private void Page_Load(object sender, System.EventArgs e)
{
  //Set the appropriate ContentType.
  Response.ContentType = "Application/pdf";
  //Get the physical path to the file.
  string FilePath = MapPath("acrobat.pdf");
  //Write the file directly to the HTTP content output stream.
  Response.WriteFile(FilePath);
  Response.End();
}

我以前遇到过这个问题,原因是PDF本身

Adobe对此有一系列原因:


FWIW,我的PDf问题通过在Adobe中打开PDf并转到Document->Reduce File Size->Make Compatible with Version 7解决了。当前版本-2刚刚确认它也冻结了Firefox。为Jeeva干杯。但我很好奇,这是特定于我的实现的行为,而不是一般的PDF。如果我在其他任何地方单击指向pdf的链接,它将正确打开,只是不在该更新面板中。