<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;
        }
    }

}

来自:http://bbs.csdn.net/topics/390722613

js 上传文件的更多相关文章

  1. 使用ajaxfileupload.js上传文件

    一直以来上传文件都是使用form表单上传文件,也看到过有人使用js上传文件,不过看起来蛮简单的也就没有怎么去理会.今天突然要使用这种方式上传文件,期间还遇到点问题.因此就记录下来,方便以后遇到这样的问 ...

  2. js 上传文件后缀名的判断 var flag=false;应用

    js 上传文件后缀名的判断  var flag=false;应用 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional// ...

  3. js上传文件带参数,并且,返回给前台文件路径,解析上传的xml文件,存储到数据库中

    ajaxfileupload.js jQuery.extend({ createUploadIframe: function(id, uri) { //create frame var frameId ...

  4. atitit.javascript js 上传文件的本地预览

    atitit.javascript js 上传文件的本地预览 1. .URL.createObjectURL  1 1.1. 吊销所有使用 URL.createObjectURL 而创建的 URL,以 ...

  5. 前端js上传文件 到后端接收文件

    下面是前端js代码: <html> <head> <meta http-equiv="Content-Type" content="text ...

  6. 纯js上传文件 很好用

    <!DOCTYPE html> <html> <head> <meta charset="utf-8"> <meta name ...

  7. 原生js上传文件,使用new FormData()

    当创建一个内容较多的表单,表单里面又有了文件上传,文件上传也需要表单提交,单一的上传文件很好操作: <form action="接口" enctype="multi ...

  8. django + dropzone.js 上传文件

    1.dropzone.js http://www.dropzonejs.com/ dropzone.js是一个可预览\可定制化的文件拖拽上传,实现AJAX异步上传文件的工具 2.dropzone.js ...

  9. js上传文件

    一.原始的XMLHttpRequestjs上传文件过程(參考地址:http://blog.sina.com.cn/s/blog_5d64f7e3010127ns.html) 用到两个对象 第一个对象: ...

  10. js上传文件获取文件流

    上传文件获取文件流 <div> 上传文件 : <input type="file" name = "file" id = "file ...

随机推荐

  1. python中logging模块使用

    1.logging模块使用场景 在写程序的时候,尤其是大型的程序,在程序中加入日志系统是必不可少的,它能记录很多的信息.刚刚接触python的时候肯定都在用print来输出信息,这样是最简单的输出,正 ...

  2. redis集群 与spring-data-redis 集成

    所遇到的坑:必须使用如下的jedis 版本与spring-data-redis 版本,才能够达到集群效果 .1.7版本以前是不支持集群的 <dependency> <groupId& ...

  3. Java 对象 引用,equal == string

    以前确实一直没注意这个概念,这次看了帖子才知道. 转载于:https://zwmf.iteye.com/blog/1738574 Java对象及其引用 关于对象与引用之间的一些基本概念. 初学Java ...

  4. (八) .launch文件 ---编写简单的启动脚本文件

    下面我们将介绍,如何编写一个启动脚本程序:(.launch文件) 还记得我们在 创建ROS软件包教程 中创建的第一个程序包(beginner_tutorials)吗,现在我们要使用它. 在 begin ...

  5. Freemarker全部文档和具体实例

    自己查找到了一些相关的资料分享给大家,有兴趣的可以去看看! Freemarker全部文档:http://www.open-open.com/doc/list/101?o=p

  6. istio-jaeger-python调用链配置

    虽然,istio ingress controller已经生成了jaeger 记录所需要的信息,但是多个分布式之间没法清晰记录相互之间的依赖关系.所以相关的项目还需要加入特殊配置. 如:python- ...

  7. Android.DebugTools.Traceview & dmtracedump

    1. Android 调试工具之Traceview http://www.cnblogs.com/devinzhang/archive/2011/12/18/2291592.html TraceVie ...

  8. tomcat加载web项目报错:bad major version at offset=6

    分析原因是开发的web项目的java版本高于tomcat使用的java版本,比如我是在java1.6上开发的,但是tomcat使用的java运行环境是1.5,所以会报改错误. 转载博客如下:http: ...

  9. Java中方法的重写

    ★★前提:方法的重写建立在继承关系上★★ 在Java程序中,类的继承关系可以产生一个子类,子类继承父类,它具备了父类所有的特征,继承了父类所有的方法和变量. 所谓方法的重写是指子类中的方法与父类中继承 ...

  10. Hotspot参数分析

    -XX:+HeapDumpOnOutOfMemoryError 让虚拟机在出现内存溢出异常时Dump出当前的内存堆转储快照以便事后进行分析 -Xmx与-Xms 虚拟机堆参数 -Xoss 设置本地方法栈 ...