Занимаюсь разработкой веб-приложений уже около года. Загрузку файлов на сервер, например, при регистрации в системе, делал таким образом, что аватарка пользователя загружалась вместе с его данными(имя, username, пароль). То есть в form-data у меня отправляется 4 поля, объектом одного из которых является файл. Но есть вариант реализовать под загрузку каких-либо файлов на сервер отдельный запрос, который в ответ будет отдавать условный идентификатор файла на сервере, тогда при регистрации будет отправляться 2 запроса: отправка основных данных и отправка файла аватара пользователя. Собственно сам вопрос: какой из 2-х вариантов лучше и практичнее?
Оба варианта имеют право на жизнь. Все зависит от ситуации.
Если у Вас изображения могут быть загружены на сервер только в одном месте (например, при регистрации), но нет большого смысла выносить отправку запроса в отдельный.
Если у Вас изображения могут быть загружены из разных мест (при регистрации, при создании поста и т.п.), то имеет смысл создать отдельный endpoint, куда посылать запросы чисто для загрузки изображения. В ответ приходит id/ссылка на картинку, которую уже можно передавать со вторым запросом.
На всех проектах, где мы разрабатывали api, был использован второй способ.
Еще пару советов:
Ссылку на изображение формировать динамически в nodejs, а в базе хранить только путь до изображения (или имя). В таком случае при смене домена ничего не придется делать дополнительно.
Если это не сайт с фотографиями, все изображения можно сжимать. Изображения будут выглядеть очень близко к оригиналам, но будут весить до 2х раз меньше. Это выгодно и для сервера (меньше места будут занимать на диске) и для клиента (меньше грузить)
Айфон мало держит заряд, разбираемся с проблемой вместе с AppLab
Перевод документов на английский язык: Важность и ключевые аспекты
Какое максимальное значение может быть в строке mysql? Например (name VARCHAR (??????????)
Создаю базу и стандартных функций не достаточноХочется авто заполнение реализовать
Что значит режим MySQL NO_ENGINE_SUBSTITUTION?