2009-06-23 40 views
1

我想通過允許用戶一次下載頁面來利用PDF優化。字節從SQL varbinary服務PDF文件

pdfs被配置爲快速web查看。 我服務於SQL Server 2008的pdfs。 c#.net 3.5 web應用程序直到SQL將數據庫中的文件加載到二進制數組中。 該文件在IE瀏覽器客戶端的PDF閱讀器插件中打開。

任何幫助或推動正確的方向將不勝感激。

感謝

回答

1

如果你只是想一個PDF發送到客戶端,請用這個代碼aspx文件:

protected void Page_Load(object sender, EventArgs e) 
{ 
    byte[] pdfdata = GetMyPdfDataSomehow(); 

    Response.Clear(); 
    Response.ContentType = "application/pdf"; 
    Response.BinaryWrite(pdfdata); 

    if (NoCaching) 
    { 
    Response.Cache.SetExpires(DateTime.Now.AddDays(-1)); 
    } 
    else 
    { 
    Response.Cache.SetExpires(DateTime.Now.AddDays(7)); 
    Response.Cache.SetCacheability(HttpCacheability.Public); 
    Response.Cache.SetValidUntilExpires(true); 
    } 
    Response.End(); 
} 

但是,如果你想知道如何分割的PDF文件了一頁接一頁,你需要一些PDF庫。

+0

感謝克里斯這是類似於我目前正在做的我真的尋找一些幫助字節服務可能使用httpHandler。 – Mick 2009-06-25 09:29:19

+0

你可能會建議在這個asp.Net MVC版本? – 2012-07-12 19:29:01

0

根據Chris的回覆,返回整個PDF只是返回http響應中的二進制文件。

對於一次處理頁面,我建議使用類似Fiddler2Wireshark的東西來查看http流量。請求上可能會有一些自定義http頭,有點像通過字節範圍頭支持的「恢復下載」支持。

你會需要觀察工作頁逐頁例子,看看客戶端和服務器發送。