2010-11-11 43 views
5

客戶有一個pdf通訊,重量爲1.63 MB,所以不是很大。.pdf瀏覽器請求進入深度凍結

我們發送電子郵件與PDF鏈接。否則,用戶會在網站的主頁上找到鏈接。沒關係。

問題是,當用戶請求PDF時,瀏覽器將有時進入深度凍結。也就是說,您需要使用任務管理器來終止瀏覽器實例。

你可以在這裏測試PDF: Newsletter

是什麼使得它困難的是,它並不總是失敗。以下是我的位置和嘗試的總結。

BROWSERS

最有可能的瀏覽器失敗與PDF是谷歌瀏覽器。但是,IE有時也會凍結。

ERROR

谷歌瀏覽器有時會返回以下錯誤(經過漫長的等待):

「有一個錯誤處理頁面I/O錯誤發生的文件的文件 連接。時間到。」

IE只是凍死而沒有嗚咽。

ACROBAT VERSION

該文件在Adobe InDesign CS3中最初創建,通過一個設計工作室。我們只是得到pdf。如果遇到一些兼容性問題,我嘗試使用Acrobat 7重新保存文件。這似乎清除一臺機器上的問題,但不能在其他人...

谷歌搜索結果

谷歌搜索顯示,有一些問題與Chrome和PDF文件。我還沒有找到任何解決方案。這仍然不能解釋爲什麼IE有時會失敗。

其他措施

我清除測試之間的每個瀏覽器的緩存。所以它不能只是一個錯誤的下載。

打開該文件與Acrobat PRO

是沒有問題打開該文件這種方式。

WEB SERVER

Web服務器的人已經測試了該文件,並有沒有問題。他們可以在日誌中找到任何問題,這表明文件已下載,並且問題在瀏覽器中發生。

幫助!

該通訊應該在兩天前離開,但我們在試圖解決這個問題的同時持有它。壞消息是我已經用完了想法。


編輯:

解決方法:

我跟進pestaa的建議(見下面的答案),它提供了一個可行的解決方法。對於使用者類型(對腦炎的醫療慈善機構而言,這可能會使患者腦部受傷)不是最佳選擇,但它很有效。即,請將以下HTTP標頭:

Content-Disposition: attachment 

要做到這一點,我創建了一個頁面,具有與下面的代碼的按鈕:

protected void downloadButton_Click(object sender, EventArgs e) 
    { 
     string fileName = "newsletter49.pdf"; 

     string filePath = Server.MapPath("~/images/ipdf/mailings/" + fileName); 
     Response.Clear(); 

     Response.AppendHeader("content-disposition", "attachment; filename=" +  fileName); 
     Response.ContentType = "application/octet-stream"; 
     Response.WriteFile(filePath); 
     Response.Flush(); 
     Response.End(); 
    } 

這個頁面的HTML(包括按鈕根據W3C標準的要求下載Acrobat Reader):

<h2> 
     Our Autumn/Winter 2010 Newsletter is now available</h2> 
    <p> 
     Please click on the button below:</p> 
    <asp:Button ID="downloadButton" runat="server" OnClick="downloadButton_Click" Text="Download Newsletter" /> 
    <div style="margin-top: 10px; border: 1px solid #ccc; background: #ebebeb; padding: 6px;"> 
     <p> 
      If you do not have Adobe Acrobat Reader, you will not be able to read the Newsletter. 
      To get Acrobat Reader, click the button below and download it from Adobe's website:</p> 
     <a title="This link opens in a new window to allow you to download Adobe Reader!" 
      href="http://get.adobe.com/uk/reader" target="_blank"> 
      <img alt="Get Adobe Reader for viewing PDF files" src="../Images/SharedImages/get_adobe_reader.gif" 
       style="border: none;" /></a> 
    </div> 

我在等着看是否有人能弄清楚pdf有什麼問題。否則,pestaa會得到餅乾。


編輯2:

我已經接受了pestaa的建議作爲唯一可靠的過程。這並不理想,因爲這是一個可以導致腦損傷的綜合症的醫療慈善機構,所以下載和打開pdf文件的額外步驟都很繁瑣。但是,如果瀏覽器崩潰,那就不好了。

如果有人聽說這個問題被修復,請留下評論。

回答

6

這可能不是正是你要找什麼,但如果下載PDF足夠或細,這是你發送的內容時需要附加的HTTP頭:

Content-Disposition: attachment 

這力量瀏覽器彈出打開/保存對話框,並可能解決越野車IE案例。

+0

+1誰願意閱讀PDF都楔入網絡瀏覽器呢?自從''以來,PDF插件帶着令人不舒服的UI和無數的安全漏洞,成爲網絡上最糟糕的事情。 – bobince 2010-11-11 15:45:01

+0

+1。即使找到真正的原因,這可能是一個好主意。當您的網絡連接速度較慢時,直接在Firefox中打開一個更大的PDF會阻止整個瀏覽器一分鐘或更長時間 - 無論您的PDF是否正常。 – 2010-11-11 15:47:02

+0

不幸的是,絕大多數的非技術人員做... – awrigley 2010-11-11 15:49:59

0

我的問題是最新的Mozilla Fire Fox,Safari和IE 9.我通過打開Adobe Reader,編輯,首選項,取消選中保護模式來清除它。諾頓防病毒存在兼容性問題。 希望這可以幫助別人。