Подтвердить что ты не робот

Отображение изображений в Internet Explorer и Base64

Чтобы легче манипулировать различными изображениями на стороне клиента с помощью Javascript, я написал функцию на стороне сервера (в VB 2010), чтобы преобразовать файл в строку base64, которую я отправляю клиенту.

Когда я попробовал его в Internet Explorer 8.0 с тремя разными изображениями, 1 портретом и 2 пейзажами, я понял, что только портретное изображение было полностью отображено, между тем оба пейзажных изображения были усечены (я вижу только верхнюю часть изображения).

Я думал, что у меня есть ошибка в моей функции преобразования, пока я не пробовал свою локальную страницу с Firefox: каждое изображение отлично отображается Firefox.

Итак, есть мой вопрос: это известная ошибка Internet Explorer? Если да, то есть ли известное средство для этой известной ошибки?

4b9b3361

Ответ 1

IE8 может обрабатывать только URI файлы Base64 размером до 32 КБ. Это незначительно раздражает ограничение, но вы все равно можете обойтись с помощью значков/и т.д. Имейте в виду, что кодированные изображения Base64 в среднем равно 33% больше данных, отправленных по трубе, так что это... э-э, знаешь, используйте свое мнение.

Для всех, кому это интересно, также возможно сделать эти работы в IE6/7 (без, я могу добавить, что ограничение 32kb...): http://venodesigns.net/2010/06/17/you-got-your-base64-in-my-css/

Ответ 2

IE8 ограничен 32 КБ. Один из способов заключается в том, чтобы просто показывать изображения в "плитки", где каждая плитка меньше 32 КБ.