2015-04-02 83 views
0

我正在使用下面的一段代碼來打開一個PDF文件,我剛剛創建了這個方法,它在我的網站的一個部分中工作,但它似乎沒有重定向到PDF我的網站的另一部分。什麼可能是PDF文件未打開的原因。在asp.net中打開pdf文件c#

Context.Response.Buffer = false; 
FileStream inStr = null; 
byte[] buffer = new byte[1024]; 
long byteCount; 
inStr = File.OpenRead(pdfPath); 
while ((byteCount = inStr.Read(buffer, 0, buffer.Length)) > 0) { 
    if (Context.Response.IsClientConnected) { 
     Context.Response.ContentType = "application/pdf"; 
     Context.Response.OutputStream.Write(buffer, 0, buffer.Length); 
     Context.Response.Flush(); 
    } 
} 
+0

你會得到什麼異常?什麼信息? – 2015-04-02 12:32:47

+1

爲什麼你不讓瀏覽器處理文件?它會在插件中打開它(如果可用)或它會提示下載。 – Ted 2015-04-02 12:43:45

+0

不,沒有任何錯誤導致難以調試。 – 2015-04-02 12:48:26

回答

0

您的pdf路徑是相對的。 您也可以一次讀取文件 bytez = File.ReadAllBytes(Server.MapPath(pdfPath))

並以同樣的方式發送。 Response.BinaryWrite(bytez)。

+0

在網站上極力不推薦閱讀pdf內存。會發生什麼情況(取決於PDF的大小和當然併發請求的數量)是因爲內存不足的可能性很高。 – 2015-04-02 13:59:18