Как изображение подается с URL с расширением ASPX?

Кто-нибудь может рассказать, как создать такой вид URL

например, если вы видите URL

http://office.microsoft.com/global/images/default.aspx?assetid=ZA103873861033

вы будете перенаправлены на изображение..

мой вопрос, хотя этот URL является изображением.. его расширение aspx.. как это возможно. как создать такой вид URL

Спасибо

5 ответов

Решение

Это распространенный метод для отображения изображения, которое хранится в виде двоичного объекта в базе данных. Один учебник, среди многих, можно найти здесь.

По сути, они используют aspx страница, чтобы принять параметр URL, который говорит им, какое изображение выбрать из базы данных. Затем в ответе они очищают все выходные данные и заголовки, устанавливают заголовки для изображения, записывают двоичные данные в поток ответов и закрывают поток ответов.

Так что на самом деле это не "перенаправление" вас на изображение. Запрашиваемая "страница" оказывается ресурсом изображения в ответе.

Установив ContentType в ответе с сервера

  HttpContext.Response.ContentType = "image/jpeg";

Самый простой способ - добавить универсальный обработчик *.ashx, и в файле Ashx у вас будет код, за которым вы можете получить строку запроса и манипулировать ответом, например. Response.WriteFile(...)

Помимо всех других ответов они могут делать Server.Transfer() (чтобы вы не видели его на стороне клиента) в файл изображения. Это по-прежнему означает, что заголовки ответа устанавливаются на соответствующий тип MIME, но это также означает, что изображение не обязательно поступает из базы данных. Этот метод может быть использован, чтобы скрыть фактический URL изображения в попытках предотвратить хотлинкинг.

Расширения файлов буквально не имеют значения в WWW. То, что правильно описывает контент по определенному URL, это тип контента / MIME-тип. Это доставляется в заголовке HTTP, когда URL запрашивается до доставки основной полезной нагрузки HTTP. Другие ответы описывают, как вы могли бы правильно установить это в ASP.NET.

Другие вопросы по тегам