<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. VS PDB文件

    转 PDB文件 PDB(Program Data Base),意即程序的基本数据,是VS编译链接时生成的文件.DPB文件主要存储了VS调试程序时所需要的基本信息,主要包括源文件名.变量名.函数名.FP ...

  2. checkbox控制text是否可以填写和radio是否可选

    代码: <!DOCTYPE html> <html> <head> <meta http-equiv="Content-Type" con ...

  3. java 线程Thread 技术--方法演示生产与消费模式

    利用wait 与notifyAll 方法进行演示生产与消费的模式的演示,我们两个线程负责生产,两个线程消费,只有生产了才能消费: 在effective Java 中有说过: 1. 在Java 中 ,使 ...

  4. 纯css背景图自适应

    只需要这样设置即可,只要你的图片足够大的话可以无限缩小,当不在缩小的时候则跟你的实际图片大小有关系

  5. C语言可以开发哪些项目?(转)

    原文地址:https://www.cnblogs.com/shiyanlou/p/6098661.html 知乎:https://www.zhihu.com/question/20564904 C语言 ...

  6. .net项目错误:找不到方法:“System.Net.Http.HttpClient stellar_dotnet_sdk.Server.get_HttpClient()

    1.由于在项目里面引用了一个 新的项目stellar_dotnet_sdk,在  return new StellarWallet(ConvertToWalletSetting(coin));   的 ...

  7. python time 和 datetime 模块

    时间戳(timestamp):通常来说,时间戳表示的是从1970年1月1日00:00:00开始按秒计算的偏移量.我们运行“type(time.time())”,返回的是float类型. 格式化的时间字 ...

  8. admin 的流程 Xadmin

    提交根评论 显示根评论 --- render显示 --- ajax显示 提交子评论 显示子评论 ---- render显示 ---- Ajax显示(扩展) 评论树 博客:富文本编辑器 beautful ...

  9. linux下的压缩命令

    linux zip命令 zip -r myfile.zip ./* 将当前目录下的所有文件和文件夹全部压缩成myfile.zip文件,-r表示递归压缩子目录下所有文件. 2.unzip unzip - ...

  10. 如何为linux系统设置全局的默认网络代理

    方法1:更改全局配置文件/etc/profile all_proxy="all_proxy=socks://proxy.xxx.com.cn:80/" ftp_proxy=&quo ...