Я хочу, чтобы пользователь моего веб-сайта мог загружать в него потенциально большой видеофайл, используя ввод HTML-файла. Видео должно затем обрабатываться и воспроизводиться локально в браузере пользователя.
let fileInput = document.createElement("INPUT");
fileInput.setAttribute("type", "file");
fileInput.onChange = onFileSelected;
Для чтения видеофайла, загруженного пользователем, я хотел использовать File Reader
, например:
function onFileSelected(e) {
// The file uploaded by the user:
let file = e.target.files[0];
// Create a file reader:
let reader = new FileReader();
reader.readAsDataURL(file);
reader.onload = function(e) {
video.src = e.target.result;
}
}
Однако, когда я загружал действительно большие видеофайлы (≈300 МБ), e.target.result
был не URI для видеофайла, как я ожидал, а пустой строкой.
Как я могу читать очень большие видеофайлы с использованием File Reader
in JavaScript?