TGViewer
Web Overflow 🇺🇦 Web Overflow 🇺🇦 @web_overflow · 3.8K subscribers
Post #1013 7.76K
Як зробити preview зображень для <input type="file" />?

Завантаженням зображень на веб-сторінках сьогодні нікого не здивуєш. А як показати зображення, ще до того, як воно було оброблене? Адже в нас є тільки файл, а не src у текстовому форматі. Логічно виходить, що нам потрібно перетворити даний файл у текст.

Перший спосіб - URL.createObjectURL.

// Дістанемо файл, наприклад отак:
const file = event.target.files[0]

const url = URL.createObjectURL(file)

// Додамо цей url в src-атрибут для img
img.src = url


Після цього - не забудьте звільнити цей URL за допомогою URL.revokeObjectURL().

Інший спосіб - використати FileReader. Знайти приклади з ним - ваше домашнє завдання 🤓. Лише додамо, що якщо вам потрібно зробити щось таке у service worker - цей метод спрацює, на відміну від першого.

👉 Відкрити документацію URL.createObjectURL
👉 Відкрити документацію FileReader.readAsDataURL

Ну і звісно не без приколів. Стандартний формат зображень на iPhone - HEIF/HEIC, який поки не підтримується більшістю браузерів. Тому, якщо вам необхідно підтримувати і цей формат, зверніть увагу на бібліотеку heic2any.

👉 Відкрити документацію heic2any

#interview
  • 👍 10
  • ❤ 4
  • 🔥 1
  • 👌 1
More from @web_overflow
  1. Oct 15, 2026Я сьогодні
  2. Sep 9, 2026Як вам жабка за 2к? 😁
  3. Aug 24, 202635 років Незалежності України 🇺🇦 Сьогодні хочеться просто побажати нам берегти своє, цін…
  4. Aug 3, 2026Трохи випали з ефіру, але не переживайте, у нас усе стабільно: Юра багато працює, а Настя…
  5. Jul 1, 2026До кінця тижня ми не знаємо хто цей ваш АІ 🌿
  6. Jun 19, 2026Не оновлюйте поки свою версію Node.js 😳 Зарелізив я, значить, учора 2 UI-апдейти, після я…
Threads Profile ViewerView any public Threads profile without an account.Open ThreadLook →Writing with AI? Make it sound human.Metric37 rewrites AI drafts so they read naturally. Free AI detector, 1,500 words free.Try Metric37 →