0

次のコードを使用して画像ファイルをポップアップ Web ページに書き出す Asp.Net 1.1 アプリケーションがあります。

    Response.ContentType="image/tiff"   'Only for Tif files
    Dim objStream As Object
    objStream = Server.CreateObject("ADODB.Stream")
    objStream.open()
    objStream.type = 1
    objStream.loadfromfile(localfile)
    Response.BinaryWrite(objStream.read)

これをTIFファイルでテストしています。ファイルは IE6 と Safari では正しく表示されますが、IE7 では表示されず、Web ページに何も返されないようです。拡張子がjpg、gifのファイルは正常に表示されています。ここで何が問題になる可能性がありますか?

4

3 に答える 3

1

まあ、それはあなたの聴衆に依存します。ただし、理想的には、レガシーブラウザーをサポートするために、それらがTIFFを処理できると想定するべきではありません。

少なくとも、TIFFをロードし、最初のフレーム(ページ)を選択し、新しいビットマップにDrawImageを実行し、ビットマップをJPGとしてメモリストリームに保存して、それをResponseに送信します。

.NETのGDI+画像操作に慣れていない場合、または難しいと思われる場合は、https://web.archive.org/web/20141230145656/http://bobpowell.net/faqmain.aspxでアドバイスを参照してください。これらの各ステップは、わずか数行のコードで実行できます。GDI +をまだ知らない場合は、Web開発者にとって学ぶ価値があります。それは、これを教育だけのために「難しい(しかし安全な)方法」にする価値があるかもしれません。そして、あなたがすでにその方法を知っているなら、それは30分しかかかりません。

複数ページのTIFFを表示する必要があり、表示するページをユーザーが制御できるようにする場合は、ページ番号を設定するためのユーザーインターフェイスを作成する必要があります。ページごとに複数のTIFFを表示しようとすると、それは重要になる可能性があるため、最初のWebページにすべてのtiff#1ページを表示するか、別のWebページにリンクして後続のtiffページを表示できるようにすることを検討してください。前/次のtiffページボタン。これは、ファイル名と現在のページ番号(前へ/次へのボタンは+/- 1ページ番号でそれ自体を指す)をURLパラメーターとして受け入れる一般的なページである必要があります。

写真ではなくテキストドキュメントのみを表示することがわかっている場合は、テキストのJpegginessを減らすために、TIFFではなくシングルフレームGIFをブラウザに送信してみてください。ただし、事前に警告しておきます。写真はGIFの見栄えがかなり悪くなる可能性があります。

于 2008-11-14T19:24:37.367 に答える
0

はい、たった今やってみました。うまくいきません。3 文字ではなく 4 文字の tiff と関係がありますか? IE7 が 4 文字の拡張子をサポートしていないことをどこかで読みました。

于 2008-11-14T02:05:12.987 に答える
0

Content-Dispositionを Inline に設定してみましたか?

Response.AppendHeader("Content-Disposition", "inline");
于 2008-11-14T01:54:34.803 に答える