Отображение изображений.tif в asp: Управление изображениями ASPNET

Мне дали кучу файлов изображений ".tif", которые должны отображаться на моих страницах.aspx. Хотя я могу видеть эти изображения во время разработки. Asp:Image не может отобразить изображение (.tif) в браузере.

Если я использую файл.jpg вместо изображения в формате TIFF, он отлично отрисовывается.

Есть идеи, почему это ограничение?

Вещи, которые я пытался

Иметь в моем проекте файл обработчика SampleHandler.ashx, который выполняет обработку запроса.

  public void ProcessRequest(HttpContext context)
        {
            string path = context.Server.MapPath("~/img/image.tif");
            Image img = Image.FromFile(path);
            img.Save(context.Response.OutputStream, System.Drawing.Imaging.ImageFormat.Jpeg);   
        }

И ссылаясь на обработчик в моем коде aspx.

Пример:

<img src="SampleHandler.ashx"/>

Этот подход работает! Но что, если у меня есть несколько файлов ".tif" для загрузки?

Спасибо

Конфигурация: ASP.NET 2.0 VSNET2008

3 ответа

asp: изображение только выводит тег img к выводу HTML. Проверьте сгенерированный источник, чтобы убедиться, что он имеет правильный путь. Если это так, попробуйте перейти непосредственно к этому пути и посмотреть, получите ли вы изображение.

(Предполагая, что вы не видите изображение при прямом просмотре, это либо означает, что ваш сервер не настроен на обслуживание файлов TIFF, либо у вас неверный путь).

Вам необходимо настроить свой веб-сервер так, чтобы он возвращал правильный тип MIME.

правильный тип MIME для файлов TIFF - изображение / TIFF

Вам нужно запустить IIS Express, IIS 7 или выше, и добавить следующее в ваш web.config

<system.webServer>
  <staticContent>
    <mimeMap fileExtension=".tiff" mimeType="image/tiff" />
    <mimeMap fileExtension=".tif" mimeType="image/tiff" />
  </staticContent>
</system.webServer>

Если вы используете сервер webdev, вам не повезло (это древнее). Установите IIS Express или запустите IIS.

Формат файла.TIF (TIFF) обычно не поддерживается браузерами. Вы должны только ожидать, что текущие или более старые браузеры будут поддерживать GIF, JPG и PNG для файлов изображений. Обратитесь к странице W3C на изображениях.

Причина, по которой это работает в среде разработки, заключается в том, что она просто использует ОС для декодирования изображения, которое будет поддерживать больше форматов изображений. Но это всего лишь иллюзия, так как она не поддерживается браузерами.

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