Добавить тип пантомимы на основе имени, а не расширения - PullRequest
0 голосов
/ 21 февраля 2019

Интересно, можно ли позволить Apache 2.4 эффективно добавлять MIME-тип в файл без с использованием расширения файла.

Мой пример использования - сервер Plone, который обслуживается ввиртуальный хост Apache.Это приложение Plone имеет поисковый индекс, который содержит значение метаданных getThumbnailPath;при отображении результатов поиска я бы использовал это значение напрямую.

Иногда этот эскиз рассчитывается исходя из объекта (если он содержит информацию об изображении; обычно дает изображение JPG), а иногда (и как запасной вариант).), он просто основан на своем типе (обычно пиктограмма типа PNG).Это вычисление выполняется не во время отображения результатов поиска, а за до , когда объект изменяется и метаданные каталога обновляются.

Теперь я хотел бы, чтобы эти миниатюры были разделены на две части.или больше размеров (все в соотношении ширины к высоте 4: 3):

  • Один размер для красивых обзорных страниц (которые у меня уже есть; 240x180)
  • Один меньший размер для общих результатов поиска (120x90; единственный размер, который мне понадобится для каждого объекта поиска на моем сайте)
  • Один или два немного больших размера для использования в каруселях(требуется только для новейших N объектов каждого типа)

Конечно, между этими миниатюрами не должно быть никакой разницы (кроме размера);идея состоит в том, чтобы иметь возможность выбирать между этими размерами, просто добавляя суффикс, такой как -120, -240 и тому подобное.Я хотел бы избежать необходимости более одного getThumbnailPath значения метаданных на объект.

Я также хотел бы сделать как можно меньше вычислений во время отображения.Конечно, было бы неплохо просто добавить -120 к каждому <img src> во время отображения результатов поиска и использовать -240 на «красивых страницах обзора», но я бы посчитал слишком сложным вычисление, чтобы разделить имя файла и вставитьинформация о размере для каждой найденной темы.Мои шаблоны отображения должны быть максимально простыми.

Итак, какие у меня варианты?

  • Я мог бы использовать какой-нибудь фильтр на основе имен (если поддерживается Apache);в настоящее время все файлы, которые соответствуют picto-.* в определенном месте, имеют тип image/png
  • . Я мог бы, чтобы apache определился с типом на основе содержимого файла.(самое медленное решение, верно?)
  • Я мог бы определить несколько дополнительных расширений для распознавания Apache, например, AddType image/png .png-120 .png-240 и AddType image/jpeg .jpg-120 .jpg-240
  • Я мог бы позволить Apache служить application/octed-stream (какв настоящее время это так), и пользовательский агент должен определить тип изображения.

Какое решение вы бы предпочли, и какое было бы лучше всего?

(Apache 2.4, CentOS 7)

...