0

.aspx ページに表示する必要がある ".tif" 画像ファイルがたくさんあります。これらの画像は設計時に見ることができますが。asp:Image は、ブラウザーでのイメージ (.tif) のレンダリングに失敗します。

tiff 画像の代わりに .jpg ファイルを使用すると、完全にレンダリングされます。

これが制限である理由はありますか?

私が試したこと

リクエストの処理を行うプロジェクトにハンドラーファイル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

4

3 に答える 3

1

asp:Image は img タグのみを HTML 出力にレンダリングします。生成されたソースをチェックして、正しいパスがあることを確認します。存在する場合は、そのパスを直接参照して、画像を取得できるかどうかを確認してください。

(直接ブラウズで画像が表示されないと仮定すると、サーバーが tiff ファイルを提供するように構成されていないか、パスが正しくないことを意味します)。

于 2012-07-16T09:09:26.093 に答える
0

正しいMIMEタイプを返すようにWebサーバーを構成する必要があります。

tiffファイルの正しいmimeタイプはimage/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を実行してください。

于 2012-07-16T22:31:05.760 に答える
0

.TIF (TIFF) ファイル形式は、通常、ブラウザーでサポートされていません。現在または古いブラウザが画像ファイルの GIF、JPG、および PNG をサポートすることだけを期待する必要があります。イメージについては W3C ページを参照してください

これが開発環境で機能するように見える理由は、OS を使用してイメージをデコードし、より多くのイメージ フォーマットをサポートするためです。ただし、ブラウザでサポートされていないため、これは錯覚にすぎません。

于 2012-07-16T23:44:35.620 に答える