Как мне заставить IE6 серьезно воспринимать ContentType? - PullRequest
1 голос
/ 07 октября 2009

Я борюсь со сторонним элементом управления ActiveX, который мы используем для загрузки изображений TIFF в браузер клиента из веб-формы ASP.Net (3.5). Элемент управления ActiveX правильно регистрируется (насколько я могу судить) как обработчик MIME для изображений TIFF и работает правильно каждый раз, когда файл дважды щелкается локально. Однако IE6 и элемент управления ActiveX ведут себя по-разному в зависимости от нескольких ситуаций, которые мне удалось идентифицировать до сих пор.

EDIT Элемент управления ActiveX на самом деле вообще отсутствует на веб-странице (без тега). На клиенте будет установлен элемент управления ActiveX, и при потоковой передаче необработанного изображения клиенту элемент управления ActiveX автоматически создается в браузере на основе обработки MIME. КОНЕЦ РЕДАКТИРОВАНИЯ

В фоновых целях мы передаем изображение в браузер с помощью Response.BinaryWrite (buffer), где buffer - это байтовый массив, содержащий двоичное изображение. Я попытался использовать Response.TransmitFile () и несколько других методов в веб-форме. Веб-серверы работают под управлением Server 2003 SE SP2, веб-сайт работает под управлением IIS6.

  • Если я установлю Response.ContentType = "image / tiff" перед потоковой передачей, элемент управления ActiveX не сможет загрузиться в IE6.
  • Если указать где-либо в строке запроса имя изображения или, если уж на то пошло, «.tif», элемент управления ActiveX успешно загружается в IE6.
  • Если я использую FireFox, все работает отлично (вставьте здесь клише "IE6 sucks").

Я провел множество исследований параметров реестра, которые IE6 использует для определения обработки MIME, и даже пытался отключить MIME-сниффинг / MIME-обработку на клиенте, все безрезультатно. Я не против указать «.tif» в строке запроса, но даже это не приводит к успешной загрузке элемента управления на клиенте Citrix, который содержит «Registry!» на меня.

О, еще одна вещь; требуется, чтобы элемент управления ActiveX загружался без запроса пользователя, поэтому добавление заголовка Content-Disposition со словом «attachment; filename = yaddayaddayadda.tif» не представляется возможным.

Кто-нибудь сталкивался с чем-то подобным раньше? Как вы преодолели это, если сделали? Есть ли глобальное исправление, которое я могу перенести на рабочие столы клиентов? Что-то мне нужно установить на веб-сервере? Я чувствую, что все перепробовал.

Заранее спасибо.

1 Ответ

0 голосов
/ 08 октября 2009

Из вашего вопроса неясно, что именно происходит. Элемент управления ActiveX находится на странице ASPX, или он делает запрос к странице ASPX? Используете ли вы ASPX для обслуживания двоичных данных TIFF?

...