jQuery统计上传文件的大小

对于现代浏览器(支持html5)来说,在客户端统计上传文件的大小,可以通过$(selector)[0].files[0].size来实现。但在老版本的IE浏览器中,比如IE7,IE8或IE9,却不支持这种做法,但可以借助ActiveXObject对象来实现。


 
 
<input type="file" name="f" id="f" value="上传文件"/>
<input type="button" value="获取上传图片的大小" id="g"/>
 
 
@section scripts
{
    <script type="text/javascript">
        $(function() {
            $('#g').on("click", function() {
                getFileSize("f");
            });
        });
 
 
        function getFileSize(eleId) {
            try {
                var size = 0;
               
                if ($.browser.msie) {//ie旧版浏览器
                    var fileMgr = new ActiveXObject("Scripting.FileSystemObject");
                    var filePath = $('#' + eleId)[0].value;
                    var fileObj = fileMgr.getFile(filePath);
                    size = fileObj.size; //byte
                    size = size / 1024;//kb
                    //size = size / 1024;//mb
                } else {//其它浏览器
                    size = $('#' + eleId)[0].files[0].size;//byte
                    size = size / 1024;//kb
                    //size = size / 1024;//mb
                }
 
 
                alert('上传文件大小为' + size + 'kb');
 
 
            } catch (e) {
                alert("错误:" + e);
            } 
        }
    </script>
}
 
 
 
 

 

另外,在IE中启用ActiveXObject按如下做法:

→工具
→Internet选项
→安全
→自定义级别,启用ActiveXObject

1

 

 

 

转载于:https://www.cnblogs.com/darrenji/p/4195156.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值