2

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

4

4 回答 4

3

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

于 2008-10-28T13:18:07.810 回答
2

您需要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
    }
    
}

它可能需要一些更改才能使其工作的代码,但您可以理解。

于 2008-10-28T13:59:32.970 回答
2

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

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

于 2008-10-28T13:18:23.317 回答
0

要使用 aspx 将 PDF 显示回用户,您需要使用 HTTPHandler。您只需将 pdf 的字节写入 HTTP 响应,确保正确设置“content-type”标头。这是一个描述解决方案的论坛讨论:

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

于 2008-10-28T13:41:02.040 回答