Как узнать width и height видеофайла при загрузке на сервер?

Для того чтобы узнать ширину (width) и высоту (height) видеофайла при его загрузке на сервер, можно использовать JavaScript в комбинации с HTML5 элементом <video>.

Вот пример кода, который поможет достичь этой цели:

<!DOCTYPE html>
<html>
<head>
  <title>Получение размеров видеофайла</title>
</head>
<body>
  <input type="file" id="videoFile" accept="video/*" />
  <script>
    const videoFileInput = document.getElementById('videoFile');
    
    videoFileInput.addEventListener('change', function(e) {
      const file = e.target.files[0]; // Получаем выбранный файл из input
      
      const video = document.createElement('video'); // Создаем новый элемент video
      video.preload = 'metadata'; // Загружаем только метаданные, но не всё видео
      video.src = URL.createObjectURL(file); // Устанавливаем источник видеофайла
      
      video.addEventListener('loadedmetadata', function() {
        console.log('Ширина видео: ' + this.videoWidth);
        console.log('Высота видео: ' + this.videoHeight);
        
        URL.revokeObjectURL(this.src); // Освобождаем ресурсы
      });
    });
  </script>
</body>
</html>

В этом примере у нас есть input типа "file", который позволяет пользователю выбирать видеофайлы для загрузки. Затем мы создаем новый элемент <video> и устанавливаем его источником выбранный файл. Загружая только метаданные видео, мы получаем доступ к их свойствам, таким как videoWidth (ширина) и videoHeight (высота).

После события "loadedmetadata" мы можем получить доступ к размерам видеофайла, а затем освободить объект URL с помощью URL.revokeObjectURL(), чтобы избежать утечек памяти.

Обратите внимание, что это только пример, и в реальном проекте вам может потребоваться какая-то дополнительная логика или обработка ошибок при загрузке видео.