将PDF保存为SQL二进制文件(.Net)

本文关键字:Net 二进制文件 SQL PDF 保存 | 更新日期: 2023-09-27 17:47:24

我正在使用ASP/.Net网页,我想将pdf文件作为二进制文件上传到SQL数据库中。我正在使用内置的上传控件,你能建议一种方法吗。我也不需要如何读回pdf并在网络浏览器中显示它。我将使用linq上传和查询我的sql数据库。

将PDF保存为SQL二进制文件(.Net)

您可以在数据库中使用VARBINARY(MAX)类型,创建LINQ到SQL映射,并将Binary类型与包含PDF文件内容的byte[]类型一起使用。

您需要将数据保存到数据库中的BLOB中,然后在需要时读取:

http://www.akadia.com/services/dotnet_read_write_blob.html

如果您需要一个HttpHandler来将PDF返回给用户,那么这是错误的,您可以使用一个空的.aspx页面来完成,类似于以下内容:

<%@ Page Language="C#" AutoEventWireup="false" CodeFile="SendPDF.aspx.vb" Inherits="SendPDF" %>

SendPDF.aspx.vb文件看起来像这样:

partial class EWTD : System.Web.UI.Page
{
    
    protected void Page_Load(object sender, System.EventArgs e)
    {
        Response.ContentType = "application/pdf";
        Response.BinaryWrite(GetPDF());
    }
    
    protected byte[] GetPDF()
    {
        // Here you will retrieve the PDF as an array of bytes
    }
    
}

代码可能需要一些更改才能使其工作,但你可以得到这个想法。

要使用aspx向用户显示PDF,需要使用HTTPHandler。您只需将pdf的字节写入HTTP响应,确保正确设置"内容类型"标头。这里有一个论坛讨论,描述了解决方案:

http://forums.asp.net/p/1120590/1750793.aspx#1750793