Зміст дописунатисність на посилання, щоб перейти до потрібного місця
Сучасні iPhone та деякі Android-пристрої знімають фото у форматі HEIC (High Efficiency Image Coding) — це новий стандарт зображень, який дозволяє зберігати якісні фото в меншому розмірі, ніж звичний JPEG. Ефективно, правда? Але з цим форматом пов'язано кілька важливих нюансів.
Підтримка в браузерах
HEIC підтримується не всіма браузерами. Наприклад:
- ✅ Safari (на macOS і iOS) підтримує HEIC.
- ❌ Chrome, Firefox, Edge — не підтримують HEIC напряму.
Тобто якщо завантажити HEIC-файл на сайт і спробувати його показати — користувачі в більшості браузерів просто не побачать зображеннь.
Часта проблема: користувачі просто змінюють .heic → .jpg
Щоб пройти HTML-валідацію при завантаженні зображення (наприклад, через <input type="file" accept="image/jpeg">), деякі користувачі просто перейменовують файл з photo.heic на photo.jpg.
І, на жаль, браузер не завжди може виявити це одразу.
Що стається далі?
- Сервер чи фронтенд думає, що це .jpg, але не може його обробити.
- Можуть виникати помилки при обробці зображення, генерації мініатюр, або при перегляді у браузері.
- А найгірше — такі файли можуть "зламати" конвеєр зображень на сайті.
Що робити (розробникам)
- На фронтенді перевіряйте не лише розширення файлу, а і MIME-тип (file.type).
- Валідуючи на бекенді, аналізуйте вміст файлу або використовуйть бібліотеки, які точно визначають формат.
- Попереджайте користувачів про підтримувані формати.
- Коли не працює завантаження jpg - в процесі дебаггінгу перевірте mime-type. Цей троянський кінь може забрати час, тож краще одразу подивитись що всередині.
HEIC — сучасний і ефективний формат, але ще не всюди підтримується. Зміна розширення файлу — не конверсія формату, і вона створює більше проблем, ніж вирішує. Якщо ви розробник — перевіряйте формат на рівні вмісту. Якщо ви користувач — краще використовуйте конвертер, ніж зміну назви.
Цей допис поки що не має жодних доповнень від автора/ки