1

我创建了一个 ASP.NET 站点,该站点最终生成 PDF 表单并将其显示给用户。

这在 IE8 版本中运行良好,但在 IE10 中不起作用。它给出错误“.PDF 无法下载”。即使我使用 f12 将浏览器模式更改为 IE8,它也会出现相同的错误。

我正在使用以下代码段来显示 PDF,并且 PDF 是使用 itextsharp 创建的:

Response.ContentType = "application/pdf";
Response.Charset = null;
Response.AppendHeader("Content-Disposition", "attachment; Filename= " + FileName);
Response.TransmitFile(FilePath);
Response.Flush();
Response.Close();

Filepath 是 PDF 文件的路径。

希望有人能帮我解决这个问题。

4

1 回答 1

1

我遇到了类似的行为 - 在解决这个问题大约 12 小时后,对我有用的是:

从更改响应标头

内容类型:application/application/vnd.ms-excel

内容类型:应用程序/八位字节流

请注意,我还有另一个未提及的症状:我正在设置

内容处置:附件;文件名="Inventory_10-10-2013.xls"

尽管设置IE使用来自URL的文件名(所以它说“无法下载getInventory” - 并将错误命名的文件保存在下载文件夹中!)。

当我更改“内容类型”时,IE 开始尊重标题中的文件名。

为了记录,这里是我设置的所有响应标头:

  • HTTP/1.1 200 正常
  • 编译指示:公共
  • 过期:格林威治标准时间 2013 年 10 月 11 日星期五 16:33:38
  • 缓存控制:max-age=1
  • 内容处置:附件;文件名="Inventory_10-10-2013.xls"
  • 内容传输编码:二进制
  • 设置 Cookie:fileDownload=true;路径=/
  • 内容类型:application/octet-stream;charset=UTF-8
  • 内容长度:7680
  • 日期:2013 年 10 月 10 日星期四 16:33:38 GMT
于 2013-10-10T17:37:36.087 回答