js 上传文件

 <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, 超过最大限度" + flength + "kb,不允许上传 ");
                return false;
            }
            else {
                btnsave.disabled = false; 
                return true;
            }
        } catch (e) {
            alert(e + "  跳出此消息框,是由于你的activex控件没有设置好, " +
"你可以在浏览器菜单栏上依次选择 " +
"工具->internet选项->"安全"选项卡->自定义级别, " +
"打开"安全设置"对话框,把"对没有标记为安全的 " +
"ActiveX控件进行初始化和脚本运行",改为"启动"即可");
            return false;
        }
    }

}

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

原文地址:https://www.cnblogs.com/lanliying/p/5072272.html