Рендеринг изображения или потока PDF из базы данных SQL в asp.net - PullRequest
0 голосов
/ 19 июля 2010

У меня есть таблица с документами, некоторые из которых были сохранены в формате PDF, некоторые из них - изображения. Я хочу создать веб-приложение для отображения изображений (которые могут быть в формате pdf или jpg) в одном элементе управления.

Мне удастся увидеть PDF, если я установлю Response.ContentType = "application / pdf" или изображение, если я установлю "application / jpg". Но проблема в том, как мне получить тип файла, сохранив в базе данных только поток? Есть ли в нем поток информации о типе файла?

Спасибо.

1 Ответ

0 голосов
/ 20 июля 2010

Нет, с потоком не связан тип контента.Если бы у вас было исходное имя файла, вы могли бы попытаться извлечь тип содержимого из этого, но это не было бы надежно.

Многие форматы файлов имеют серию «магических байтов», которые позволяют вам определить, чтоможет) быть в файле.Например, PDF начинается с байтов "% PDF" (примечание: я не специалист по PDF, и могут быть ситуации, когда это не так).

Если у вас нет другого выбора,Вы можете попытаться проанализировать файл, используя различные библиотеки, пока не найдете работающую (System.Drawing.Image.FromStream (), iTextSharp и т. д.).

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