簡體   English   中英

PDF下載無法僅在IE11中顯示“無法下載”消息

[英]PDF download fails showing message “Couldn't be downloaded” only in IE11

我使用ASP.NET與Web表單,這應該是非常容易的事情讓我發瘋,類似的問題已經被問到,但沒有一個幫助我,IE拒絕下載我的文件。

需要注意的事項:

  • 我正在本地測試
  • 它適用於Firefox和Chrome,但不適用於IE11
  • IE將文件名更改為頁面名稱(例如,它嘗試保存default_aspx而不是myfile.pdf) 文件名已更改在此輸入圖像描述

這是我的代碼:

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 OK

緩存控制私有

內容類型應用程序/ PDF

服務器Microsoft-IIS / 7.5

內容 - 處置附件; 文件名= myfile.pdf

X-AspNet-Version 4.0.30319

X-Powered-By ASP.NET

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

內容長度691892

UPDATE

看起來這是一個服務器配置問題,因為相同的代碼在我的生產服務器中可以正常工作,但在我的開發服務器中卻不行。 所以我的客戶不會抱怨這個,無論如何我想在我的開發環境中修復它,只要我有時間我會再調查一下,如果我找到一個解決方案,我會在這里發布。

我們在ie8中遇到了類似的問題,問題是文件是在緩存中搜索而找不到的。 要測試這一點,請在響應對象中設置Cache-Control:no-cache。

這不是確切的答案,但希望它可以打開一些方法來找到確切的答案。

谷歌搜索時發現這可能是由於微軟針對IE發布的安全更新。

微軟於7月8日發布了針對IE11的安全更新,其中有一個影響下載的錯誤。

以下是Microsoft Connect Link活動狀態下提及此信息。

一旦找到,請分享確切的解決方案。

干杯!!

我在自己的應用程序中做了類似的事情。 嘗試刪除content-disposition標頭並將Application/pdf更改為application/pdf 您也可能不需要Response.End() ,但我懷疑這是導致問題的原因。

我過去遇到過類似的問題,我會嘗試明確設置響應內容長度。

Response.AddHeader("Content-Length", buffer.Length.ToString())

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM