C# 从SQL varbinary为PDF提供字节服务

C# 从SQL varbinary为PDF提供字节服务,c#,pdf,byte,serving,C#,Pdf,Byte,Serving,我想通过允许用户一次下载一个页面来利用PDF的web优化 PDF配置为快速web视图。 我正在为sql server 2008的PDF提供服务。 c#.net 3.5 web应用程序将linq解绑到SQL,以便将文件从数据库加载到二进制数组中。 该文件在IE客户端的PDF阅读器插件中打开 我们将非常感谢您在正确的方向上提供的任何帮助或帮助 谢谢如果您只想向客户端发送PDF,请使用以下代码创建一个aspx文件: protected void Page_Load(object sender, Eve

我想通过允许用户一次下载一个页面来利用PDF的web优化

PDF配置为快速web视图。 我正在为sql server 2008的PDF提供服务。 c#.net 3.5 web应用程序将linq解绑到SQL,以便将文件从数据库加载到二进制数组中。 该文件在IE客户端的PDF阅读器插件中打开

我们将非常感谢您在正确的方向上提供的任何帮助或帮助


谢谢

如果您只想向客户端发送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库。

如果您只想向客户端发送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库。

根据Chris的回答,返回整个PDF只是在http响应上返回二进制文件

对于每次一页的处理,我建议使用类似或的方法来查看http流量。请求上可能有一些自定义http头,有点像通过字节范围头提供的“恢复下载”支持


您需要观察一页一页的工作示例,并查看客户端和服务器发送的内容。

根据Chris的回答,返回整个PDF只是在http响应上返回二进制文件的一种情况

对于每次一页的处理,我建议使用类似或的方法来查看http流量。请求上可能有一些自定义http头,有点像通过字节范围头提供的“恢复下载”支持


您需要观察一页一页的工作示例,看看客户端和服务器都发送了什么。

谢谢Chris,这与我目前正在做的事情类似。我真的在寻找字节服务方面的帮助,可能是使用httpHandler。你可以建议使用asp.Net MVC版本吗?谢谢Chris,这与我目前正在做的事情类似。我真的在寻找字节服务方面的帮助可能使用httpHandler提供服务。您是否可以建议使用asp.NETMVC版本?谢谢Marc,我会尝试一下。谢谢Marc,我会尝试一下。