Динамическая загрузка видео с localhost и получение 206 частичного содержимого

Я использую простой стек react с redux. Затем я динамически извлекаю данные с местоположениями видео с google spreadsheet, это означает, что мне нужно импортировать видеофайлы на лету:

//videoType is the name of the row for videos in the spreadsheet
const videoType = 'outVideo';
const videoData = await import(`../../media/${video[videoType]}`);
this.setState({[videoType]: videoData.default});

Это также означает, что видеоресурсы загружаются сразу после рендеринга компонента, но как обещание:

Динамическая загрузка видео с localhost и получение 206 частичного содержимого

Затем он будет загружен в компонент, и когда придет время, отобразить видео (чтобы у нас были ресурсы, доступные в теге html5video при инициации в элементе:

      <div className = "outVideo">
        {outVideo !== "" &&
          <video
            ref = {this[`outVideo${reference}`]}
            autoPlay = "autoplay"
            playsInline = "playsinline"
          >
            <source
              src = {outVideo}
              type = "video/mp4"/>
          </video>
        }
      </div>

Я только что переключился с файлов 800kb на файлы 95mb, и, хотя я их опишу, мне любопытно, почему видео просто отображаются как white space, а видео нет:

Динамическая загрузка видео с localhost и получение 206 частичного содержимого

Динамическая загрузка видео с localhost и получение 206 частичного содержимого

Насколько я понимаю, не следует использовать 206

Какая у этого цель? Зачем нужен динамический импорт видеофайла? Этот файл доступен с помощью javascript, поэтому он также доступен из элемента видео html5.

bigless 25.11.2018 03:21

В большинстве браузеров тег видео будет запрашивать диапазон байтов, и правильный ответ - 206. «Белое пространство», скорее всего, не имеет отношения к 206-му.

szatmary 25.11.2018 06:23

@bigless причина в том, что они динамически загружаются из электронной таблицы, и мы включаем файлы локально, IE это будет работать в ящике и будет иметь доступ только к localhost для больших ресурсов.

Jamie Hutber 25.11.2018 22:58

Что означает «включение файлов локально»? Этот импорт - это просто асинхронный GET. Я все еще не понимаю. Почему бы просто не src = "../../media/${video[videoType]}", а затем визуализировать / показать тег видео на событии canplay?

bigless 26.11.2018 00:01

Я использую локальный сервер, поэтому ресурсы обслуживаются с этого локального сервера i localhost, это означает, что, конечно, http захватывает данные, но для этих ресурсов (видео) нет внешнего запроса или необходимости в каком-либо Интернете. Причина, по которой я не могу просто встроить их напрямую, заключается в том, что мне нужно убедиться, что видеофайл существует. в противном случае я удаляю этот tile.

Jamie Hutber 26.11.2018 13:29
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
В JavaScript одним из самых запутанных понятий является поведение ключевого слова "this" в стрелочной и обычной функциях.
Концепция локализации и ее применение в приложениях React ⚡️
Концепция локализации и ее применение в приложениях React ⚡️
Локализация - это процесс адаптации приложения к различным языкам и культурным требованиям. Это позволяет пользователям получить опыт, соответствующий...
Улучшение производительности загрузки с помощью Google Tag Manager и атрибута Defer
Улучшение производительности загрузки с помощью Google Tag Manager и атрибута Defer
В настоящее время производительность загрузки веб-сайта имеет решающее значение не только для удобства пользователей, но и для ранжирования в...
Безумие обратных вызовов в javascript [JS]
Безумие обратных вызовов в javascript [JS]
Здравствуйте! Юный падаван 🚀. Присоединяйся ко мне, чтобы разобраться в одной из самых запутанных концепций, когда вы начинаете изучать мир...
Система управления парковками с использованием HTML, CSS и JavaScript
Система управления парковками с использованием HTML, CSS и JavaScript
Веб-сайт по управлению парковками был создан с использованием HTML, CSS и JavaScript. Это простой сайт, ничего вычурного. Основная цель -...
JavaScript Вопросы с множественным выбором и ответы
JavaScript Вопросы с множественным выбором и ответы
Если вы ищете платформу, которая предоставляет вам бесплатный тест JavaScript MCQ (Multiple Choice Questions With Answers) для оценки ваших знаний,...
1
5
558
0

Другие вопросы по теме