2012-06-18 49 views
0

我已經在VB.NET中編寫了一個第三方Web服務接口。該界面的最後一步涉及第三方向我們(作爲流)提供PDF文檔。流媒體完成後,我會在我們的服務器上保存一份PDF副本,以便我們的用戶可以通過點擊系統中的鏈接查看PDF。 PDF在Acrobat X中打開,但是當我嘗試以編程方式打開它時出現錯誤,說「文件已損壞,無法修復」。我也可以在IE中打開文件,沒有問題,並且顯示此PDF的相同代碼在許多其他現有PDF早於第三方接口的情況下工作良好。PDF在Acrobat X中打開,但在VB.NET中以編程方式打開

我已經清空了臨時的互聯網文件,如我在網上看到的一些帖子中所建議的。我還在Notepad ++中打開了PDF,%PDF標記是第一個,%% EOF標記是最後一個,因此我可以看到文檔源中肯定沒有可見的損壞。下面是我們用來打開PDF文件到一個單獨的瀏覽器實例在我們的網站(非常標準)代碼:

PDFFile = System.AppDomain.CurrentDomain.BaseDirectory & Request.QueryString("LetterPath") & Request.QueryString("Letter") 
Response.Clear() 
Response.ClearHeaders() 
Response.BufferOutput = True 
Response.ContentType = "application/pdf" 
Response.WriteFile(PDFFile) 
Response.Flush() 

任何處理,在此之前或有什麼想法?

+0

'Response.End()'也許? – Magnus

+0

沒錯,那是....謝謝!代碼中實際上有Response.End語句,但它們被註釋掉了。不註釋它們,一切都很好。不知道爲什麼它在我們其他任何PDF上都不是問題。謝謝Magnus! – Mike

+0

太好了,我會將它作爲答案發布,以便您接受它。 – Magnus

回答

2

添加一個Response.End()應該這樣做。