使用c#将生成的pdf保存在数据库中

NOO*_*MED 1 c# sql sql-server pdf asp.net

我正在开发 asp.net 应用程序,它以多种形式获取用户的输入并保存为 pdf。现在我陷入困境,不知道如何将生成的 pdf 保存在 SQL Server 数据库中。

有了这个,我附加了保存为 pdf 的代码。

protected void btnExportPDF_Click(object sender, EventArgs e)
{
   Response.ContentType = "application/pdf";
   Response.AddHeader("content-disposition", "attachment;filename=Samba.pdf");
   Response.Cache.SetCacheability(HttpCacheability.NoCache);

   StringWriter st = new StringWriter();
   HtmlTextWriter ht = new HtmlTextWriter(st);

   gvExperience.AllowPaging = false;
   gvExperience.DataBind();
   gvExperience.RenderControl(ht);

   StringReader sr1 = new StringReader(st.ToString());
   Document pdfDoc = new Document(PageSize.A4, 10f,10f,10f,0f);

   HTMLWorker htmlparser = new HTMLWorker(pdfDoc);
   PdfWriter.GetInstance(pdfDoc, Response.OutputStream);
   pdfDoc.Open();
   htmlparser.Parse(sr1);
   pdfDoc.Close();

   Response.Write(pdfDoc);
   Response.End();  
}
Run Code Online (Sandbox Code Playgroud)

jti*_*ley 5

创建一个至少包含文件名 (varchar(100)、内容 (varbinary(max)) 和内容长度 (int) 的表。

将 pdf 转换为字节数组 (byte[])。我会将您的 Reponse.OutputStream 交换为内存流。使用您喜欢的数据访问方法保存到 Sql Server。

Sql 服务器的“varbinary”将转换为 C# 的“byte[]”。当您将其写回客户端浏览器时,您需要设置“内容类型”标头并使用“Response.BinaryWrite(byte[])”写入流。