如何创建视频文件的blob

时间:2014-10-23 17:18:02

标签: javascript node.js blob

我想为初学者创建一个本地视频文件文件的Blob:///home/user/NodeJS/Projects/project1/routes/../videosTrans/Node.js教程 - 对Node.js的介绍使用Express2.js.mp4

我无法理解Blob的确切格式。我希望创建它以将其作为createObjectURL()函数的输入。 以下不起作用:

 var URL = this.window.URL || this.window.webkitURL;
       var file = new Blob(["file:///home/sanika/NodeJS/Projects/project1/routes/../videosTrans/Node.js tutorial for beginners - an introduction to Node.js with Express2.js.mp4"], "type" : "video\/mp4");
       var value = URL.createObjectURL(file);

2 个答案:

答案 0 :(得分:3)

请使用blob的第二个参数作为对象。 所以你的代码应该是:

var URL = this.window.URL || this.window.webkitURL;
var file = new Blob(
    ["file:///home/sanika/NodeJS/Projects/project1/routes/../videosTrans/Node.js tutorial for beginners - an introduction to Node.js with Express2.js.mp4"],
    {"type" : "video\/mp4"});
var value = URL.createObjectURL(file);

答案 1 :(得分:1)

您可以通过以下代码来实现。 JSFiddle demo link也已接受测试

HTML代码

<video></video>
<br/>
    <input type="file" name="file" id="fileItem" onchange="onChange()" >
    <input type="submit" value="Play">
</form>

JS代码

<script type="text/javascript">
var URL = window.URL || window.webkitURL;
var video = document.getElementsByTagName('video')[0];
function onChange() {
    var fileItem = document.getElementById('fileItem');
    var files = fileItem.files;
    var file = files[0];
    var urlBlob = URL.createObjectURL(file);
    video.src = url;
    video.load();
    video.onloadeddata = function() {
        video.play();
    }
}
</script>

在此处进行测试

https://jsfiddle.net/9ad3nm2o/2/