2013-08-01 17 views
1

我有一個駐留在.NET 4.0的網站動態生成的PDF文件中,我流式傳輸到用戶的瀏覽器使用此代碼(流是PDF文件):.NET流PDF在移動瀏覽器不開放

byte[] ba = stream.ToArray(); 
    stream.Close(); 


    Response.Clear(); 
    Response.ContentType = "application/pdf"; 
    Response.BinaryWrite(ba); 
    Response.Flush(); 
    Response.Close(); 

最近我們發現這個網頁已停止在iOS和Android設備上運行。下載在Android安靜失敗,但在iOS上我得到以下錯誤:

Safari無法打開頁面。錯誤是: 「操作無法完成(kCFErrorDomainCFNetwork錯誤303.)」。

我可以找到的唯一的錯誤代碼是有關格式不正確的URL。我在我的基本URL中有一個連字符,還有一個用於打開動態PDF的QueryString的問號,但是我沒有看到任何一種方法,除此之外我不確定是否會導致錯誤。我的網址如下所示:

https://www.mysite-20.tv/myfolder/QuoteToPDF.aspx?QuoteID=1134 

回答

1

您還應該添加Content-Length標頭,它有助於在某些情況下。

Response.AddHeader("Content-Length", ba.Length.ToString()); 
+0

不錯!就是這樣。我即將放棄並將它們全部保存爲文件並靜態提供。儘管我們儘量避免使用動態內容。謝謝! – fr0man

+0

我的網站也存在同樣的問題,我已經給出了你說的話。有沒有其他可行的方法來解決這個問題 – Arvin