如何通过js获取上传文件尺寸

 我来答
尚学堂科技有限公司
2017-01-11 · 百度知道合伙人官方认证企业
尚学堂科技有限公司
北京尚学堂科技有限公司是一家从事JAVA、大数据、web前端、网络在线教育、互联网架构师、Android、ios技术开发、咨询为一体的软件公司。公司由海外留学人员和国内IT人士创建。
向TA提问
展开全部
 <input id="file_Up" name="file_Up" type="file" onchange="getFileSize(this.value)"/>
<input id="sub_Import" type="submit" value="导入" />
js中function getFileSize() {
    var btnsave = document.getElementById("sub_Import"); 
    btnsave.disabled = true; 
    var filepath = "";
    var fileupload = document.getElementById("file_Up");
    if (fileupload.value.length < 5) {
        alert('请选择文件!');
        return;
    }
    var agent = window.navigator.userAgent;
    if (agent.indexOf("Firefox") >= 1) {
        var maxsize = 4 * 1024 * 1024;
        var size = fileupload.files[0].size;
        if (size > parseInt(maxsize)) {
            alert("文件超过大小!");
            return false;
        }
        else {
            btnsave.disabled = false;
            return true;
        }
 
    }
    else {
        fileupload.select();
        fileupload.blur();
        filepath = document.selection.createRange().text;
        try {
            var fso, f, fname, fsize;
            var flength = 4 * 1024; //设置上传的文件最大值(单位:kb),超过此值则不上传。 
            fso = new ActiveXObject("Scripting.FileSystemObject");
            f = fso.GetFile(filepath); //文件的物理路径
            fname = fso.GetFileName(filepath); //文件名(包括扩展名)
            fsize = f.Size; //文件大小(bit)
            fsize = fsize / 1024;
            //去掉注释,可以测试
            alert("文件路径:" + f);
            alert("文件名:" + fname);
            alert("文件大小:" + fsize + "kb");
            if (fsize > flength) {
                alert("上传的文件到小为:" + fsize + "kb,\n超过最大限度" + flength + "kb,不允许上传 ");
                return false;
            }
            else {
                btnsave.disabled = false; 
                return true;
            }
        } catch (e) {
            alert(e + "\n 跳出此消息框,是由于你的activex控件没有设置好,\n" +
"你可以在浏览器菜单栏上依次选择\n" +
"工具->internet选项->\"安全\"选项卡->自定义级别,\n" +
"打开\"安全设置\"对话框,把\"对没有标记为安全的\n" +
"ActiveX控件进行初始化和脚本运行\",改为\"启动\"即可");
            return false;
        }
    }
 
}
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
DoramiHe
2017-03-18 · 知道合伙人互联网行家
DoramiHe
知道合伙人互联网行家
采纳数:25334 获赞数:59536
2011年中山职业技术学院毕业,现担任毅衣公司京东小二

向TA提问 私信TA
展开全部
是文件大小吗?
有点js,可以参考下,不过可能会有浏览器兼容性问题
$("#file").bind("change",function(e){
var browser = $.browser;
if(browser.webkit || browser.safari || browser.mozilla){
alert("file size :"+this.files[0].size/1024/1024 + "Mb" + ",file name: " + this.files[0].name);
}else if(browser.msie){
var fso = new ActiveXObject("Scripting.FileSystemObject");
alert("file size:"+fso.getFile(this.value).size/1024/1024 + "Mb"+ ",file name: " + fso.getFile(this.value).name);
}else{
alert("Sorry,your browser can not be supported,please use other browser.");
}
});
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式