zoukankan      html  css  js  c++  java
  • [JS] 限制上传文件的类型和大小

    <!DOCTYPE html>
    <!-- saved from url=(0035)http://localhost:9090/qraved/update -->
    <html>
        <head>
            <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
            <meta charset="utf-8">
            <link rel="stylesheet" href="bootstrap/css/bootstrap.min.css" /> 
        </head>
        
        <body style="background:#ecf0f5;">
    
            <div class="container">
                <div class="header clearfix" style="border-bottom:1px solid #ccc;">
                    <h3 style="float:left;" class="text-muted">EXCUTE SQL TASK</h3>
                </div>
                
                <div style="margin-top:30px;">
                    <div class="panel panel-danger">
                        <div class="panel-heading">
                          <h3 class="panel-title">upload sql file</h3>
                        </div>
                        <div class="panel-body">
                            <form class="form-inline">
                              <div class="form-group">
                                <input type="file" id="uploadFile" onchange="check()">
                                <p class="help-block" id="hintInfo">select a sql file</p>
                                <input type="button" id="uploadBtn" onclick="upload()" class="btn btn-sm btn-info" value="upload" />
                                <input type="button" id="checkBtn" onclick="checksql()" class="btn btn-sm btn-danger" value="check" style="display:none;"/>
                              </div>
                            </form>
                        </div>
                    </div>
                </div>
            </div>
    
            <script language="javascript" src="jQuery-2.1.4.min.js"></script>
            <script language="javascript">
            
                //是否允许上传操作
                var fileSelected = false;
                
                //是否上传成功
                var uploadSuccess = false;
                
                //是否检测成功
                var checkSuccess = false;
                
                //文件大小限制
                //var maxsize = 2*1024;//2M
                var maxsize = 2;//2KB
                
                //检测文件类型
                function check(){
                
                    $("#uploadBtn").show();
                    $("#checkBtn").hide();
                
                    var file = $("#uploadFile").val();
                    console.log("文件路径:"+file);
                    if(file == '' || file == null) {
                        $("#hintInfo").html("<span style='color:red;'>请选择所要上传的文件!</span>");
                        return false;
                    }
                    
                    var index = file.lastIndexOf(".");
                    var ext = file.substring(index + 1, file.length);
                    console.log("文件类型:"+ext);
                    
                    if(ext != "sql" && ext!="SQL" ) {
                        $("#hintInfo").html("<span style='color:red;'>选择的文件格式不正确,请选择sql文件(*.sql)!</span>");
                        return false;
                    } 
                    
                    //检测文件大小
                    
                    var obj =  document.getElementById("uploadFile");
                    var fileSize = 0;
                    var isIE = /msie/i.test(navigator.userAgent) && !window.opera;            
                    if (isIE && !obj.files) {          
                         var filePath = obj.value;            
                         var fileSystem = new ActiveXObject("Scripting.FileSystemObject");   
                         var file = fileSystem.GetFile (filePath);               
                         fileSize = file.Size;         
                    }else {  
                         fileSize = obj.files[0].size;     
                    } 
                    console.log(fileSize +"byte");
                    fileSize=Math.round(fileSize/1024*100)/100; //单位为KB
                    console.log(fileSize+"KB");
                    
                    if(fileSize>=maxsize){
                        $("#hintInfo").html("<span style='color:red;'>文件最大尺寸为"+maxsize+"KB,请重新上传!</span>");
                        return false;
                    }
                    
                    //获取文件名
                    var index2 = file.lastIndexOf("\");
                    if(index < 0) {
                        index2 = file.lastIndexOf("/");
                    }
                    var filename = file.substring(index2 + 1, file.length);
                    console.log(filename);
                    
                    $("#hintInfo").html("<span style='color:green;'>已选择文件<span style='color:orange;'>"+filename+"</span>,请点击upload按钮上传!</span>");
                    fileSelected = true;
                }
                
                //执行上传操作
                function upload(){
                    if(!fileSelected){
                        alert("请选择sql文件(*.sql)!");
                        return false;
                    }    
                    
                    //TO DO 执行上传操作
                    uploadSuccess = true;
                    if(uploadSuccess){
                        //上传成功后显示check按钮,隐藏upload按妞
                        $("#hintInfo").html("<span style='color:green;'>上传成功!</span>");
                        $("#uploadBtn").hide();
                        $("#checkBtn").show();
                    }else{
                        //上传失败则显示提示信息
                        $("#hintInfo").html("<span style='color:red;'>上传失败!</span>");
                        $("#uploadBtn").show();
                        $("#checkBtn").hide();
                    }
                }
                
                function checksql(){
                
                    checkSuccess = true;
                    //根据槛车状态提示检测信息
                    if(checkSuccess){
                        $("#hintInfo").html("<span style='color:green;'>检测成功!</span>");
                        
                    }else{
                        $("#hintInfo").html("<span style='color:green;'>检测失败!</span>");
                    }
                }
                
            </script>
        </body>
    </html>
  • 相关阅读:
    unitty导出工程嵌入iOS原生工程中出现黑屏,但是模型还是可以扫。
    unity导出工程导入到iOS原生工程中详细步骤
    多目标损失中权重学习
    变分推断
    RNN笔记
    Logistic Regression
    决策树
    无约束问题的最小化
    线性回归
    高斯分布相乘、积分整理
  • 原文地址:https://www.cnblogs.com/avivaye/p/4995556.html
Copyright © 2011-2022 走看看