为了账号安全,请及时绑定邮箱和手机立即绑定

关于input type="file"上传图片后,ie8,ie9如何获取图片的大小

在工作中,遇到个问题,关于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>

以上,是自己目前采用的解决方法,如果有好的解决方法,烦请留言告知,谢谢!

点击查看更多内容
14人点赞

若觉得本文不错,就分享一下吧!

评论

作者其他优质文章

正在加载中
Web前端工程师
手记
粉丝
1
获赞与收藏
166

关注作者,订阅最新文章

阅读免费教程

感谢您的支持,我会继续努力的~
扫码打赏,你说多少就多少
赞赏金额会直接到老师账户
支付方式
打开微信扫一扫,即可进行扫码打赏哦
今天注册有机会得

100积分直接送

付费专栏免费学

大额优惠券免费领

立即参与 放弃机会
意见反馈 帮助中心 APP下载
官方微信

举报

0/150
提交
取消