Не удалось сохранить / загрузить объект данных блоба браузера

1

У меня есть веб-страница, где пользователь загружает видеофайл с помощью тега html "input type = file", я улавливаю этот загруженный видеофайл в переменной функции JavaScript, где он появляется как URL-адрес blob. "blob: https://www.myownsite.com:8080/2e8cfd32-abf2-4db3-b396-91f76cc3b40c ". Я не могу сохранить этот URL-адрес в моей системе.

Код HTML:

<input type="file" name="video_file_name" accept="video/*">
<input type="submit" value="Upload Video" id="customVideoSubmit">
<button onClick="postVideo();" id="customVideoSubmit" aria- hidden="true">Upload Video</button>

Код JavaScript:

    function postVideo(){
    var blobURL = document.querySelector('video').src;
}

переменная blobURL содержит следующий URL-адрес blob, который правильно воспроизводит видео, если я поместил его на отдельную вкладку этого браузера.

blob:https://www.myownsite.com:8080/2e8cfd32-abf2-4db3-b396-91f76cc3b40c

Как сохранить этот видеофайл в моей системе. Я пробовал количество методов JavaScript, а также методы back end в моем коде Perl, например

decode_base64($cgi->{blobURL}) ;

Ничего не получилось. Любая помощь будет высоко ценится.

  • 0
    Где создается Blob URL ? Требуется ли сохранять файл в локальной файловой системе или на сервере?
  • 0
    На сервере. blobURL имеет путь к серверу, однако он находится только в памяти браузера. blobURL создается браузером. Это объект браузера.
Показать ещё 3 комментария
Теги:
browser
html5-video
bloburls

1 ответ

0

Чтобы преобразовать Blob URL Blob в Blob на POST на сервер, вы можете использовать fetch() и Response.blob()

const blobURL = URL.createObjectURL(new Blob([123]));
fetch(blobURL)
.then(response => response.blob())
.then(blob => {
  // do stuff with 'blob': 'Blob'
  console.log(blob);
});

Ещё вопросы

Сообщество Overcoder
Наверх
Меню