2009-06-23 39 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头,有点像通过字节范围头支持的“恢复下载”支持。

你会需要观察工作页逐页例子,看看客户端和服务器发送。