Потоковый HTML из SQL не отображает изображения в IE9 - PullRequest
0 голосов
/ 04 июля 2011

У меня есть HTML-файл, хранящийся в моей базе данных SQL в виде двоичного файла. HTML содержит каталоги изображений, и изображения хранятся в этих каталогах на сервере.

Chrome, Safari, Firefox, IE7 и IE8 - все отображают изображения и HTML-текст, но IE9 просто отображает HTML-текст и слова «растровое изображение» вместо изображений.

Этот код выводит HTML:

Response.Clear();
Response.CacheControl = "no-cache";
Response.Cache.SetCacheability(HttpCacheability.NoCache);
Response.Cache.SetValidUntilExpires(false);
Response.ExpiresAbsolute = DateTime.Parse("1/1/2000");
Response.Expires = 0;
b = Compression.DeCompressByteArray(b);
Response.OutputStream.Write(b, 0, b.Length);
Response.End();

Это просто фрагмент, показывающий основную процедуру вывода.

Копирование каталогов изображений из выходного html и размещение его в моей адресной строке открывает изображения, но IE9 не хочет отображать их внутри html и вместо этого отображает слово 'bitmap'

Кроме того:

  • HTML (и изображения) вывод из SQL, при запуске как самостоятельный html работает во всех браузерах.
  • Изображения отображаются в IE9, когда вставлять, если у меня есть совместимость режим включен (но это нарушает другие прочее).

Ответы [ 3 ]

1 голос
/ 04 июля 2011

То, как вы пишете HTML (имеется в виду C # или что-то еще, или то, что оно пришло из SQL Server), почти наверняка не имеет значения здесь.Я бы предложил просмотреть исходный код, подтвердив, что исходный HTML (без какого-либо вмешательства со стороны ASP.NET, SQL Server и т. Д.) Все еще имеет проблему, и опубликуйте это (и повторно пометите, чтобы отразить, что C # и SQL Server не имеют ничего общего сделать с проблемой).Также обязательно укажите, работает ли он лучше при использовании режима совместимости.

0 голосов
/ 05 июля 2011

Чтобы ответить на этот вопрос:

HTML, передаваемый с моего SQL Server, не определяет тип документа и, следовательно, запускается в режиме Quirks в IE8.IE9 заставляет iframe без doctype использовать doctype своего родителя.

HTML-код получен из вывода Excel, который не публикует doctype при публикации.

0 голосов
/ 04 июля 2011

Вы должны будете указать тип контента для своего ответа.Эти заголовки отсутствуют.

См. http://msdn.microsoft.com/en-us/library/ms525208(v=vs.90).aspx

, т.е. выполните:

Response.ContentType = "text / HTML"

...