zoukankan      html  css  js  c++  java
  • 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

     

     

     

  • 相关阅读:
    Silverlight日记:动态操作Grid
    【转】cocos2dx 自学知识点之三 自定义动画 使用plist来实现
    Cocos2d-x的内存管理
    好色之徒
    freetype
    cocos2d 自定义字体
    cocos2d-x 内存管理
    VS2010 检查内存泄露的方法
    c++链表
    c/c++ time.h 那点事
  • 原文地址:https://www.cnblogs.com/darrenji/p/4195156.html
Copyright © 2011-2022 走看看