• js实现多文件上传


    首先,将以下js代码放入页面这里我判断的是只能上传xls格式的文件,可以根据自己的需求修改js中的checkExcel方法


    </pre><pre name="code" class="javascript"><script type="text/javascript"> 
        var __FILE_INDEX = 0; //文件标识    
        var __LOADING_TIP_DIV = null; 
        var __ICON_PATH = "<%=Request.ApplicationPath%>/Images"; 
        /**  
        * 对选择的文件进行格式校验,只能选择xls格式的文件  
        */ 
        function checkFile(fileObj) { 
            var objSpan = document.getElementById("span_" + fileObj.id); 
            if (!checkExcel(fileObj.value)) { 
                objSpan.innerHTML = "<img title='错误' src='" + __ICON_PATH + "/check_error.png' border='0'></img><font style='color:red;font-size:12px'>只能导入xls格式文件!</font>" 
                fileObj.errFlag = true; 
            } else { 
                objSpan.innerHTML = "<img title='正确' src='" + __ICON_PATH + "/check_right.png' border='0'></img>" 
                fileObj.errFlag = false; 
            } 
            if (fileObj.value != "" && fileObj.noDelete != "true") { 
                document.getElementById("del_" + fileObj.id).innerHTML = "<span title='删除文件' onclick='deleteFile(\"" + fileObj.id + "\")' style='font-size:12px;color: #4684b2;cursor:pointer;border-bottom:1px solid #4684b2'>删除</span>"; 
            } 
        } 
     
        /**  
        * 删除选择的文件 www.2cto.com   
        */ 
        function deleteFile(fileId) { 
            var trNode = document.getElementById("tr_" + fileId); 
            var trParent = trNode.parentNode; 
            trParent.removeChild(trNode); 
        } 
     
        /**  
        * excel校验函数  
        */ 
        function checkExcel(filePath) { 
            var subfix = filePath.substring(filePath.lastIndexOf(".") + 1); 
            if (subfix != "xls") { 
                return false; 
            } 
            return true; 
        } 
        /**  
        * 文件上传时的校验逻辑  
        */ 
        function excelUpload() { 
            var fileCount = 0; 
            var files = document.getElementsByTagName("INPUT"); 
            for (var i = 0; i < files.length; i++) { 
                if (files[i].type.toLowerCase != 'file') continue; 
                if (files[i].errFlag) { 
                    alert("导入的文件只能是xls格式,请重新选择."); 
                    files[i].focus(); 
                    return; 
                } 
                if (files[i].value != "") 
                    fileCount++; 
            } 
            if (fileCount < 1) { 
                alert("请先选择要上传的数据文件!"); 
                return; 
            } 
            document.getElementById("uploadExcelForm").submit(); 
        } 
        /**  
        * 添加文件  
        */ 
        function addFile() { 
            ++__FILE_INDEX; 
            var fileId = "file" + __FILE_INDEX; 
            var uploadTable = document.getElementById("tableUploadFile") 
            var trElement = uploadTable.insertRow(-1); 
            trElement.id = "tr_" + fileId; 
            var tdElement = trElement.insertCell(-1); 
            tdElement.id = "td_" + fileId; 
            tdElement.innerHTML = "<input type='file' name='" + fileId + "' id='" + fileId + "' size='30' style='padding-left:5px;300px;cursor:pointer;' >" 
                   + "<span id='span_" + fileId + "'></span>" 
                   + "<span id='del_" + fileId + "'></span>"; 
        }    
    </script> 


    接下来是后台代码:


    [csharp]  //保存上传文件 
            try 
            { 
                for (int i = 0; i < Request.Files.Count; i++) 
                { 
                    if (Request.Files["file" + i] != null) 
                    { 
                        HttpPostedFile filePost = Request.Files["file" + i]; 
                        string filename = filePost.FileName; 
                        Random rd = new Random(); 
                        filename = filename.Substring(filename.LastIndexOf('\\') + 1); 
                        string savePath = Server.MapPath("UpLoadFile/" + rd.Next() + filename); 
                        filePost.SaveAs(savePath); 
                        UpLoadFile upLoadfile = new UpLoadFile(); 
                        upLoadfile.FileObj = mubiao.Obj_Id; 
                        upLoadfile.FileAddr = savePath; 
                        upLoadfile.FileUpLoadDate = DateTime.Now; 
                        new UpLoadFileBLL().InsertUpLoadFile(upLoadfile); 
                    } 
                } 
            } 
            catch (Exception) 
            { 
                PageMessageBoxShow("文件上传失败!");             
            } 

  • 相关阅读:
    泛型
    HTTP和HTTPS
    计算机网络(三)应用层
    练习38-操作列表
    第27讲:集合—在我的世界里,你就是唯一
    第25~26讲:字典:当索引不好用时
    第1~2讲:数据结构和算法绪论
    第23~24讲:这帮小兔崽子(斐波那契数列)和汉诺塔游戏
    练习36--设计和调试
    001-定义电子日历类
  • 原文地址:https://www.cnblogs.com/yzenet/p/2720277.html
Copyright © 2020-2023  润新知