Ответ 1
В итоге мы сбросили поддержку IE8.
Мне повезло, что только для внутренней цели отладки.
Проблема все еще стоит. Надеюсь, у IE9 не будет данных: ограничение uri.
Мне нужно отправить html-ответ в браузер, содержащий 1920x1080 png. Это скриншот, сделанный с помощью html-запроса.
Я кодирую изображение в base64 и отправляю его в виде text/html content-type. Что-то простое:
<HTML><HEAD>Whatever</HEAD><BODY><img src="data:image/png;base64,data"/></BODY></HTML>
Он отлично работает на FF и Chrome, проблема в том, что мне нужно поддерживать IE8. IE8 как предел по длине данных: uri.
Если я сжимаю изображение, поэтому кодировка png меньше 32k (около 600x500), я теряю слишком много информации.
Какая самая легкая работа для этой проблемы? (У меня нет доступа к серверу для размещения изображения или такого)
В итоге мы сбросили поддержку IE8.
Мне повезло, что только для внутренней цели отладки.
Проблема все еще стоит. Надеюсь, у IE9 не будет данных: ограничение uri.
Вы всегда можете разбить изображение на 4 (или более) и закодировать каждый раздел отдельно.
Не могли бы вы просто сохранить изображение где-нибудь, вернуть его путь, а затем изменить src на только что сгенерированный путь?
URI с кодировкой данных Base64 отлично работает в IE, версия которого больше или равна 9. Так как для IE 9. нет ограничения URI данных. Также я попытался исправить эту проблему IE8. Но я не мог решить эту проблему. Для работы вокруг, сохраняя изображения где-то внутри приложения и извлекайте его из приложения, когда вы его показываете.
В представлениях Rails: (поддерживается, если IE >= 9)
<b><%= ('<img src="data:image/jpg;base64,%s">' % Base64.encode64(@chart.to_blob)).html_safe %></b>
В Rails-представлениях: (поддерживается все браузеры)
<b><%= image_tag @chart+".png" %></b>