简体   繁体   English

无法保存/下载浏览器Blob数据对象

[英]Not able to save/download browser blob data object

I have a web page where user uploads a video file using html's "input type = file" tag, I am catching that uploaded video file in JavaScript function variable where it is coming as blob URL. 我有一个网页,用户使用html的“ input type = file”标签上传视频文件,我在JavaScript函数变量中捕获了该上传的视频文件,该文件以blob URL的形式出现。 "blob: https://www.myownsite.com:8080/2e8cfd32-abf2-4db3-b396-91f76cc3b40c ". “ blob: https ://www.myownsite.com:8080 / 2e8cfd32-abf2-4db3- b396-91f76cc3b40c ”。 I am not able to save this blob URL in my system. 我无法在系统中保存该Blob URL。

HTML code: 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 code: JavaScript代码:

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

variable blobURL contains following blob URL, which plays video properly if I put this on a separate tab of that browser. 变量blobURL包含以下blob URL,如果我将其放在该浏览器的单独选项卡上,它将正确播放视频。

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

How can I save this blob video file in my system. 如何在我的系统中保存此Blob视频文件。 I have tried number of JavaScript methods and also back end methods in my Perl code like 我在Perl代码中尝试了许多JavaScript方法和后端方法,例如

decode_base64($cgi->{blobURL}) ;

Nothing worked though. 什么都没有。 Any help will be much appreciated. 任何帮助都感激不尽。

To convert a Blob URL to a Blob to POST to server you can use fetch() and Response.blob() 于转换Blob URLBlob ,以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); }); 

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM