在工作中,遇到个问题,关于input type="file",上传文件后,获取该文件的大小,对ie9以上,chrome,firefox等浏览器,可以采用document.getElementById('file').files[0].size来获取大小。但ie8,ie9不兼容此方法,可以采用以下方法:
1.js部分
//ie10,firefox,chrome支持
var fileSize;
function fileChange(target)
{
fileSize = target.files[0].size;
alert(fileSize);//弹出文件大小
}
//兼容ie8,ie9,ie9以上也支持
function getFileSize(obj){
try{
var file = obj;
file.select();
file.blur();
var path = document.selection.createRange().text;
var fso = new ActiveXObject("Scripting.FileSystemObject");
fileSize = fso.GetFile(path).size;
alert(fileSize);//弹出文件大小
}catch(e){
alert(e+"\n"+"如果错误为:Error:Automation 服务器不能创建对象;"+"\n"+"请按以下方法配置浏览器:"+"\n"+"请打开【Internet选项-安全-Internet-自定义级别-ActiveX控件和插件-对未标记为可安全执行脚本的ActiveX控件初始化并执行脚本(不安全)-点击启用-确定】");
return window.location.reload();
}
}
2.html部分(主要显示怎么调用上面的函数)
<form name=formens method="post" action="uploadpic" enctype="multipart/form-data">
<input type="file" name="UPLOADS" id="UPLOADS" onChange="fileChange(this);">
<input type="file" name="UPLOADS0" id="UPLOADS0" onChange="getFileSize(this);">
</form>
以上,是自己目前采用的解决方法,如果有好的解决方法,烦请留言告知,谢谢!
2025 - 快车库 - 我的知识库 重庆启连科技有限公司 渝ICP备16002641号-10
企客连连 表单助手 企服开发 榜单123