无法在IE10中下载PDF表单。错误:无法下载xyz.pdf

时间:2013-06-19 06:54:17

标签: c# asp.net pdf itextsharp

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

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

我使用以下代码段来显示PDF,并使用itextsharp创建PDF:

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

Filepath是PDF文件的路径。

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

1 个答案:

答案 0 :(得分:1)

我得到了类似的行为 - 对这个问题进行了大约12个小时的斗争对我有用:

更改

的响应标头
  

Content-Type:application / application / vnd.ms-excel

  

Content-Type:application / octet-stream

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

  

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

尽管设置IE使用了URL中的文件名(因此它说“无法下载getInventory” - 并且它在下载文件夹中保存了错误命名的文件!)。

当我更改'Content-Type'时,IE开始从标题中识别文件名。

这里的记录是我正在设置的所有响应标题:

  • HTTP / 1.1 200确定
  • Pragma:Public
  • 到期日:2013年10月11日星期五16:33:38 GMT
  • 缓存控制:max-age = 1
  • 内容 - 处理:附件;文件名= “Inventory_10-10-2013.xls”
  • Content-Transfer-Encoding:BINARY
  • Set-Cookie:fileDownload = true;路径= /
  • Content-Type:application / octet-stream; charset = UTF-8
  • 内容长度:7680
  • 日期:2013年10月10日星期四16:33:38 GMT