У меня есть веб-приложение, которое отобразит логотипы. Некоторые логотипы будут в формате GIF. Некоторые будут в формате JPEG.
Я хотел бы стандартизировать соглашение о присвоении имен файла, так, чтобы я мог найти файл логотипа, учитывая Первичный ключ компании. Например, "Бритиш Петролеум" имеет PK 1459, и их логотип хранится в/Images/Logos/C1459
Таким образом, мой вопрос - это:
Действительно ли расширения файла важны? Я могу просто сохранить файлы, и снять изоляцию с.JPG или.GIF и ожидать, что все браузеры смогут определить и представить файл? Или некоторые broswers полагаются на расширение файла для идентификации?
Я попробовал это на тестовой машине с IE7, и он хорошо работает, но я не хочу предполагать, что все другие браузеры работают то же.
Править: Развить вопрос. То, как IIS, определяет Тип MIME дополнительного меньше файла?
Более важным для браузера является MIME-тип, передаваемый вместе с файлом во время загрузки - исторически сложилось так, что некоторые браузеры прибегают к эвристике, например, к расширению файла или пытаются вычислить его на основе переданных байтов, но если MIME-тип правильный, в этом нет необходимости.
Мне это кажется немного задним числом. Почему бы и нет:
1) Преобразовывать все изображения в один и тот же тип при их первом сохранении?
или
2) Искать изображение компании с помощью поиска по шаблонам (например, сопоставить /Images/Logos/C1459.* ) и загрузите файл, который возвращает положительное совпадение. Поскольку вы используете первичные ключи, вы можете быть уверены, что найдете только одно совпадение для каждой компании.
Вы определенно захотите протестировать его в как можно большем количестве браузеров, но все должно быть в порядке. Если формат файла правильный и MIME-тип передается правильно, браузер должен отображать изображение просто отлично. (На многих сайтах есть "изображения" с такими URL, как: /images/dbimage.aspx?id=123)
Edit: На самом деле, для тестирования важнее, чем различные браузеры, различные типы изображений. Если есть типы изображений, которые не отправляются с правильным MIME-типом, вы должны определить их и либо устранить, либо запретить.