首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >PDF下载失败,仅在IE11中显示消息“PDF‘t be download”

PDF下载失败,仅在IE11中显示消息“PDF‘t be download”
EN

Stack Overflow用户
提问于 2015-04-11 07:09:50
回答 3查看 4.3K关注 0票数 17

我在网页表单中使用ASP.NET,一些本应非常简单的事情让我抓狂,有人问过类似的问题,但他们都没有帮助我,IE拒绝下载我的文件。

注意事项:

  • 我正在本地测试
  • 它可以在火狐和Chrome中运行,但不能在IE11中运行
  • IE将文件名更改为页面的名称(例如,它尝试保存default_aspx而不是myfile.pdf)

这是我的代码:

代码语言:javascript
复制
Response.ClearHeaders();
Response.ClearContent();
Response.ContentType = "Application/pdf";
Response.AddHeader("Content-Disposition", "attachment; filename=" + fileName);
Response.BinaryWrite(buffer);
Response.End();

这些是我从IE得到的头文件:

键值

响应HTTP/1.1 200正常

缓存控制私有

内容类型应用程序/PDF

服务器Microsoft-IIS/7.5

Content-Disposition附件;filename=myfile.pdf

X-AspNet-版本4.0.30319

X-Powered-By ASP.NET

日期:星期五,2015年4月10日22:44:40 GMT

内容长度691892

更新

这似乎是一个服务器配置问题,因为相同的代码在我的生产服务器上可以很好地工作,但在我的开发服务器上就不行了。所以我的客户不会抱怨这一点,不管怎样,我想在我的开发环境中修复它,一旦我有时间,我会更多地调查,如果我找到了解决方案,我会把它发布在这里。

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2015-04-20 18:50:17

我们在ie8中遇到了类似的问题,问题是在缓存中搜索文件,但没有找到。要测试这一点,请在响应对象中设置Cache-Control : no-cache。

票数 5
EN

Stack Overflow用户

发布于 2015-04-13 22:11:41

我在自己的应用程序中也做了类似的事情。尝试删除content-disposition标头并将Application/pdf更改为application/pdf。您也可能不需要Response.End(),尽管我怀疑这是导致问题的原因。

票数 2
EN

Stack Overflow用户

发布于 2015-04-21 13:38:42

我在过去也遇到过类似的问题,我会尝试显式地设置响应内容长度。

代码语言:javascript
复制
Response.AddHeader("Content-Length", buffer.Length.ToString())
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/29572023

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档