Асинхронная загрузка файлов?

Пользователь имеет возможность заполнить форму и прикрепить несколько фотографий весомых по размеру.

Есть ли смысл держать пользователя, чтобы он дождался загрузки фотографии или же есть смысл сохранить форму а файлы загружать в фоновом режиме?

Как такие штуки делаются в Node.js?
  • Вопрос задан
  • 341 просмотр
Пригласить эксперта
Ответы на вопрос 2
dmitry0141e
@dmitry0141e
Software Engineer
Это больше от интерфейса зависит, если пользователь на странице, только чтобы загрузить файлы, то имеет смысл держать, до конца загрузки модалку с прогрессом или подобное.
Если он точно не покинет сайт (чат, админка и т. д. ), то можно в фон и прогресс вывести в видное место.

Пример трекинга прогресса на фронте (axios)
const upload = async (files) => {
  const config = {
    onUploadProgress: (progressEvent) => {
      const percentUploaded = Math.round((progressEvent.loaded * 100) / progressEvent.total);
      console.log(percentUploaded);
    }
  }

  const data = new FormData();
  data.append('file', files[0]);

  await axios.put('/api/url', data, config);
}

Если без либ, то вот пример прогресса на XmlHttpRequest

На бэке в ноде на этот роут обычно вешают какой-нибудь multer.
Ответ написан
ThunderCat
@ThunderCat
{PHP, MySql, HTML, JS, CSS} developer
Есть ли смысл держать пользователя, чтобы он дождался загрузки фотографии или же есть смысл сохранить форму а файлы загружать в фоновом режиме?
За что держать то будете? Тут все зависит от критичности данных, если пользователь засубмитит форму и не дождавшись загрузки файлов закроет страничку у вас будет лажа в плане связанности данных - данные формы есть, а картинок нет.
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы