IE думает, что JPEG является BMP - PullRequest
2 голосов
/ 21 февраля 2011

У меня есть функция миниатюр изображения, которая в основном просто изменяет размеры изображения и выводит его через GD

Он хорошо работает во всех браузерах, кроме IE, где он считает, что это bmp-файл ... обычно это нормально, за исключением случаев, когда я пытаюсь использовать jquery для его перетаскивания, а для рендеринга файла требуется ~ 10 с при каждом перетаскивании это ... не уверен почему ...

Когда я пытаюсь сохранить файл изображения, он по умолчанию имеет значение Untitled.bmp и не позволяет мне изменить тип файла.

Я даже попытался загрузить файл изображения напрямую, скопировав его из кэша, и он работает нормально, поэтому сам файл в порядке ... но я просто не могу заставить Symfony выводить изображение таким образом, т.е. любит ...

вещей, которые я пробовал до сих пор:

  • Тип содержимого: изображение / JPEG
  • Тип содержимого: изображение / pjpeg
  • Тип содержимого: приложение / загрузка + Расположение содержимого: вложение; имя файла = "test.jpg"
  • Content-Type: image / jpeg + Content-Disposition: вложение; имя файла = "test.jpg"
  • Content-Type: image / jpeg + Content-Disposition: inline: filename = "test.jpg"
  • Content-Type: application / download + Content-Disposition: inline; имя файла = "test.jpg"

Я добавил Content-Length ко всему вышеперечисленному, и он прекрасно проходит через сетевую панель firebug ... но то есть инструменты разработчика> image report говорит, что размер файла составляет -1 байт.

Единственное, что я могу вспомнить, это URL изображения:

http://www.example.com/imagePreview?component[0][id]=1&component[0][option_id]=5&component[1][id]=2&component[1][option_id]=4&width=400

Я пытался добавить .jpg в конце, но он по-прежнему отказывается читать файл в формате JPEG ...

Так, да, мне нужны некоторые идеи и помощь от вас, ребята

Ответы [ 3 ]

1 голос
/ 21 февраля 2011

Пожалуйста, помните, что кеш IE - это просто: кеш .Если изображение не находится в кэше , то единственным представлением IE является представление в памяти, которое использует GDI, то есть BMP.

0 голосов
/ 21 февраля 2011

Что ж, я исправил проблему с перетаскиванием изображения:

После анимации непрозрачности до 100% альфа-фильтр остается там даже после завершения анимации, даже если фильтр абсолютно ничего не делает, он все еще должен обработать, что и вызвало огромную задержку.

Решение для перетаскивания лага: - После анимации установите непрозрачность CSS: $ (this) .css ('opacity', '')

Что касается того, что jpeg интерпретируется как bmp, я думаю, что это не было причиной задержки перетаскивания, и в конце дня это не имеет значения <_ <</p>

0 голосов
/ 21 февраля 2011

Прежде всего, удалите временные интернет-файлы. В старых версиях IE была досадная ошибка: при заполнении кэша изображения сохранялись как BMP.

...