使用JS验证文件大小,使用方法为
var filesize = obj_file.files[0].size;
在IE11,IE10和chrome等现代浏览器上没有任何问题,但是在IE9\8\7上会报错。
具体信息是:
typeerror:无法获取未定义或null引用的属性
网上说因为IE9以上才会支持
filesize = obj_file.files[0].size;
这个方法。但是现在不想改变客户端的体验。请问有什么妙招来解决这个问题吗?
3 回答
智慧大石
TA贡献1946条经验 获得超3个赞
方案一:
var a = document.getElementById('loadfile').value; $('#myImage').attr('src',a); var imgbytes = document.getElementById('myImage').size; var imgkbytes = Math.round(parseInt(imgbytes)/1024); alert(imgkbytes+' KB');
利用Image对象有size这种属性来抓取。未测试~
方案二
var myFSO = new ActiveXObject("Scripting.FileSystemObject"); var filepath = document.upload.file.value; var thefile = myFSO.getFile(filepath); var size = thefile.size; alert(size + " bytes");
利用ActiveX实现,未测试。
添加回答
举报
0/150
提交
取消