Хранение, загрузка и выгрузка файлов в базе данных ASP.NET и SQL Server. - PullRequest
1 голос
/ 08 августа 2011

У меня есть требование, когда мне нужно загрузить некоторые файлы PDF со страницы ASP.NET. Это действие загрузки выполняется администратором. Эти файлы, которые выбираются с использованием отдельных элементов управления загрузкой файлов, должны объединяться и храниться в базе данных SQL Server. Теперь обычный пользователь должен иметь возможность войти на страницу asp.net, где должна быть отображена ссылка, чтобы открыть файл, хранящийся в базе данных, и просмотреть его с помощью Adobe Reader.

Я вижу следующие проблемы:

  1. Если я выберу несколько файлов PDF, как я могу сохранить их в базе данных в объединенном формате.

  2. Поскольку файл хранится в базе данных, как я могу создать ссылку и указать файл, хранящийся в базе данных

Прежде всего, это выполнимо. Я знаю о хранении файла в базе данных, но как мне объединить и сохранить файл в базе данных?

Ответы [ 2 ]

3 голосов
/ 08 августа 2011
  1. iTextSharp - это бесплатная библиотека PDF, которая позволит вам объединять файлы PDF. Вот пример кода, который делает именно это .

  2. Получить файл с сервера SQL очень просто. В этой теме обсуждения есть пример .

Код из потока:

byte[] data = TheMethodToReadTheFieldFromDB();
 using (Stream st = new MemoryStream(data))
{
        long dataLengthToRead = st.Length;
        Response.ContentType = "application/pdf";  
        Response.AddHeader("Content-Disposition", "attachment; filename=\"" + theFileName + "\"");
        while (dataLengthToRead > 0 && Response.IsClientConnected)
        {
                Int32 lengthRead = st.Read(buffer, 0, blockSize);
                Response.OutputStream.Write(buffer, 0, lengthRead);
                Response.Flush();
                dataLengthToRead = dataLengthToRead - lengthRead;
        }
        Response.Flush();
        Response.Close();
}
Response.End();
1 голос
/ 08 августа 2011
  1. Объединение файлов PDF - это задача, которая должна решаться библиотекой обработки PDF / обработки изображений.Например, Atalasoft DotImage.Также могут быть бесплатные альтернативы.

  2. Чтобы создать ссылку на файл в базе данных, вам нужно создать обработчик или страницу (например, .ashx HttpHandler), которая, учитывая идентификатор встрока запроса, например, передаст страницу клиенту.Вам нужно будет указать правильный тип MIME в ответе.

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