window.URL.createObjectURL
可以用于在浏览器上预览本地图片或者视频
在预览视频时,我一直将以为将window.URL.createObjectURL生成的URL,赋给video中的source标签是可以的,结果是不行的,得不到视频,如下图
需要将其赋给video标签才行,如下图
像腾讯,优酷都是这么做的,没有使用source标签,如下图(只不过不是本地视频)
预览视频代码
<!DOCTYPE html>
<html>
<head>
<title></title>
</head>
<body>
<script type="text/javascript" src="jquery-1.11.3.min.js"></script>
<div>
<video width="400" height="500" controls="controls">
</video>
</div>
<input type="file" accept="video/*" />
<script type="text/javascript">
$("input").change(function(){
var files = this.files;
if(!files.length) {
return;
}
$("video").attr("src", window.URL.createObjectURL(files[0]));
$("video").get(0).play();
});
</script>
</body>
</html>
效果:
预览图片
<!DOCTYPE html>
<html>
<head>
<title></title>
</head>
<body>
<script type="text/javascript" src="jquery-1.11.3.min.js"></script>
<div>
<img width="400" height="500">
</img>
</div>
<input type="file" accept="video/*" />
<script type="text/javascript">
$("input").change(function(){
var files = this.files;
if(!files.length) {
return;
}
$("img").attr("src", window.URL.createObjectURL(files[0]));
});
</script>
</body>
</html>
效果: