Сохранить PDF в двоичном формате SQL (.Net) - PullRequest
2 голосов
/ 28 октября 2008

Я использую веб-страницу ASP / .Net и хочу загрузить файл PDF в базу данных SQL в виде двоичного файла. Я использую встроенный элемент управления загрузкой. Не могли бы вы предложить способ сделать это? Мне также не нужно, как читать PDF обратно и отображать его в веб-браузере. Я буду использовать linq для загрузки и запроса базы данных sql.

Ответы [ 4 ]

3 голосов
/ 28 октября 2008

Вы можете использовать тип VARBINARY(MAX) в своей базе данных, создать отображение LINQ to SQL и использовать тип Binary с типом byte[], содержащим содержимое файла PDF.

2 голосов
/ 28 октября 2008

Это неверно, вам нужно 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
    }
    
}

В коде могут потребоваться некоторые изменения, чтобы заставить его работать, но вы можете понять это.

2 голосов
/ 28 октября 2008

Вам нужно сохранить данные в BLOB в базе данных, а затем прочитать их, когда вам это нужно:

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

0 голосов
/ 28 октября 2008

Для отображения PDF обратно пользователю, с aspx, вам нужно использовать HTTPHandler. Вы просто напишите байты pdf в ответ HTTP, убедившись, что правильно установили заголовок «content-type». Вот обсуждение на форуме, которое описывает решение:

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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...