2012-07-16 128 views
0

我收到了一堆應該顯示在我的.aspx頁面上的「.tif」圖像文件。 雖然我可以在設計時看到這些圖像。 asp:Image無法在瀏覽器上呈現圖像(.tif)。在ASP:ASPNET圖像控件中顯示.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

回答

1

ASP:圖片只呈現img標籤的HTML輸出。檢查生成的源代碼以驗證它是否有正確的路徑。如果確實如此,請嘗試直接瀏覽到該路徑並查看是否獲取圖像。

(假設您沒有在直接瀏覽器中看到圖像,則表示您的服務器未配置爲提供tiff文件或您的路徑不正確)。

+0

我該如何檢查我的服務器是否配置爲服務.tiff文件? – 2012-07-16 09:31:55

+0

你可以在IIS中檢查,但是默認情況下它應該支持.tif文件格式。我也懷疑你的文件的路徑。 – 2012-07-16 09:40:32

+0

你好。我基本上使用前綴:〜img/icon的服務器路徑。tif來引用圖片網址。只有當我使用**。tif **格式,而不是當我使用**時,纔會出現此問題。jpg/.png/.bmp ** – 2012-07-16 10:12:35

0

您需要配置您的Web服務器才能返回正確的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。

0

瀏覽器通常不支持.TIF(TIFF)文件格式。您應該只希望當前或舊版瀏覽器支持GIF,JPG和PNG圖像文件。 Refer to W3C page on images

這個似乎在開發環境中工作的原因是它只是使用操作系統來解碼圖像,它將支持更多的圖像格式。但它只是一個幻想,因爲它不支持瀏覽器