Частый вопрос который возникает фактически на любом проекте - это вопрос загрузки пользовательского контента, будь то фотографии, видео или документы. Уже неоднократно наблюдал в чатах что "новички", которые столкнулись с этой задачей, начинают расстреливать вопросами, смотреть десятки гайдов на Youtube но в результате все равно делают либо неправильно либо делают путем копипастинга кусков кода из разных гайдов. Этот пост - это сборка частых ответов и раскрытие подводных камней.
Как же все-таки работает та магия что пользователь выбирает файл у себя на устройстве, нажимает кнопку и его фотография оказывается загруженной либо в аватарке либо как основная фотография поста?
Происходит это в следующем порядке:
- На веб странице есть элемент типа ``, который выглядит как поле для ввода с кнопочкой "Обзор..." сбоку. И да, даже там где этого не видно, он все равно есть, просто скрытый (например где просто большая кнопка "+"