有files[0]的可以直接使用.size, .type。没有的用ActiveXObject
html:
<video style="" controls="controls" id="aa" oncanplaythrough="myFunction(this)">
</video>
<input type="file" onchange="changeFile(this)" />
<br />
<div id="ss"></div>
<span id="getDuration"></span>
js:
function myFunction(ele) {
document.getElementById("getDuration").innerHTML="时长: " + ele.duration;
}
function changeFile(ele){
var fileSize;
if(ele.files) {
var video = ele.files[0];
fileSize = video.size;
var path = URL.createObjectURL(video);
document.getElementById("aa").src = path;
console.log('no-ie', fileSize, video.type);//弹出文件大小
} else {
//兼容ie8,ie9,ie9以上也支持
try{
console.log('ie9');
var file = ele;
file.select();
file.blur();
var path = document.selection.createRange().text;
document.getElementById("aa").src = path;
var fso = new ActiveXObject("Scripting.FileSystemObject");
fileSize = fso.GetFile(path).size;
console.log('wenjiandaxiao ',fileSize, 'leixing', fso.GetFile(path).type, fso.GetFile(path));//弹出文件大小
}catch(e){
console.log(e+"\n"+"如果错误为:Error:Automation 服务器不能创建对象;"+"\n"+"请按以下方法配置浏览器:"+"\n"+"请打开【Internet选项-安全-Internet-自定义级别-ActiveX控件和插件-对未标记为可安全执行脚本的ActiveX控件初始化并执行脚本(不安全)-点击启用-确定】");
return window.location.reload();
}
}
}