ASP.Net(3.5) Web フォームからクライアント ブラウザーに TIFF 画像を読み込むために使用しているサードパーティの ActiveX コントロールと戦っています。ActiveX コントロールは、(私の知る限り) TIFF 画像の MIME ハンドラとして正しく登録され、ファイルがローカルでダブルクリックされるたびに正しく動作します。ただし、IE6 と ActiveX コントロールは、これまでに特定できたいくつかの状況に応じて異なる動作をします。
編集 ActiveX コントロールは、実際には Web ページにまったくありません (タグなし)。クライアントには ActiveX コントロールがインストールされ、未加工の画像をクライアントにストリーミングすることで、MIME 処理に基づいてブラウザで ActiveX コントロールが自動的に生成されます。 編集終了
バックグラウンドの目的で、Response.BinaryWrite(buffer) を使用してブラウザに画像をストリーミングしています。ここで、buffer はバイナリ画像を含むバイト配列です。Response.TransmitFile() と他のいくつかのメソッドを Web フォームでも使用してみました。Web サーバーは Server 2003 SE SP2 を実行しており、Web サイトは IIS6 で実行されています。
- ストリーミングの前に Response.ContentType = "image/tiff" を設定すると、ActiveX コントロールが IE6 に読み込まれません。
- 画像の名前、またはクエリ文字列のどこかに ".tif" を指定すると、ActiveX コントロールが IE6 に正常に読み込まれます。
- 私が FireFox を使用している場合、すべてが完全に機能します (ここに「IE6 は最悪」という決まり文句を挿入してください)。
私は、IE6 が MIME 処理を決定するために使用するレジストリ設定について多くの調査を行い、クライアントでMIME スニッフィング/ MIME 処理を無効にしようとしましたが、すべて役に立ちませんでした。クエリ文字列に「.tif」を指定してもかまいませんが、これでも Citrix クライアントでコントロールが正常に読み込まれず、「Registry!」と叫びます。私に。
ああ、もう 1 つ。ユーザーにプロンプトを表示せずに ActiveX コントロールをロードする必要があるため、"attachment; filename=yadddayadddayadda.tif" を含む Content-Disposition ヘッダーを追加することはできません。
誰かが以前にこのようなことに遭遇したことがありますか? 克服した場合、どのように克服しましたか?クライアント デスクトップにプッシュできるグローバルな修正プログラムはありますか? Web サーバーに設定する必要があるものはありますか? 私はすべてを試したような気がします。
前もって感謝します。