javascript:多文件上传

来源:互联网 发布:移民日本的中国人 知乎 编辑:程序博客网 时间:2024/05/19 12:28

 function InsertRow(){    
        TableRowCount++;       
        if(TableRowCount<=4)
        {
            var tabDW=document.getElementById("EditTable");
            var curRow=tabDW.rows[tabDW.rows.length-1];
            var newRow=tabDW.insertRow(curRow.rowIndex);
            var cell=newRow.insertCell(0);
            cell.innerHTML='文件附件: <input type="file" name="file'+(tabDW.rows.length+1)+'" id="file'+(tabDW.rows.length+1)+'"  class="FileUpload"/>&nbsp;&nbsp;&nbsp;&nbsp;文件描述: <input type="text" name="text'+(tabDW.rows.length+1)+'"  />&nbsp;&nbsp;&nbsp;<input type="button" id="del'+(tabDW.rows.length+1)+'" value=" 删  除 " onclick="javascript:DeleteRow(this)" class="FileUpload"/>';                        
            document.getElementById("btnups").disabled="";
            document.getElementById("HiddenUpLoadFile").value="";
           
            var tab=tabDW.rows[1].cells[0];
            var state=false;
                           
            if(tab.childNodes[tab.childNodes.length-1].type!="button")
            {
                state=true;               
            }
           
            if(state)
            {
                var obj=document.createElement("INPUT");           
                obj.value=" 删  除 ";
                obj.type="button";
                obj.className="FileUpload"; 
                obj.onclick=function(){DeleteRow(obj);};//(通用)                 
                tabDW.rows[1].cells[0].appendChild(obj);
                //obj.setAttribute("onclick","javascript:alert('f')",0);(非IE)
                //obj.attachEvent("onclick",function(){DeleteRow(obj)});(IE)
               
            }
           
            var inputid='file'+(tabDW.rows.length+1);
            document.getElementById(inputid).click();                 
        }
        else
        {
            window.alert("最多上传五个文件!");
            TableRowCount--;
        }      
    }
   
   
     function DeleteRow(obj){
        TableRowCount--;
        var curRow=obj.parentNode.parentNode;
        var tabDW=document.getElementById("EditTable");
        tabDW.deleteRow(curRow.sectionRowIndex );  
            
        if(TableRowCount==0)
        {
            var cell=tabDW.rows[1].cells[0];
            cell.removeChild(cell.childNodes[cell.childNodes.length-1]);
        }
     }

 

<table cellspacing="0" cellpadding="0"  style="border:1px solid #BBE9FF" id="EditTable">
                              <tr class="altbg1">
                                <td style="border-bottom:1px solid #BBE9FF"><span class="bold">上传新附件</span> ( 小于 512 kb
                                  , 可用扩展名: rar, zip, gif, jpg, png) </td>
                              </tr>
                              <tr class="altbg1">
                                <td> 文件附件:
                                <input type="file" name="file0" id="file0" />
         &nbsp;&nbsp;&nbsp;文件描述:
                                 <input type="text" name="text0" /></td>
                              </tr>
       <tr class="altbg1" >
       <td> <input type="button" value=" 新  增 " onclick="javascript:InsertRow()"  id="btnTop"/></td>
       </tr> </table> 

 

//后台上传代码

private void UpFile()
        {
            LoadFile loadFile = new LoadFile();
            int i = 0;
            for (; i < Request.Files.Count; i++)
            {
                HttpPostedFile file = Request.Files[i];//关键部分
                if (!loadFile.ValidataFile(file.ContentLength, file.FileName))
                {
                    Error.InnerHtml = "<script language='javascript'>window.alert('您好上传文件超过限定大小!');</script>";
                    return;
                }
            }


            //验证通过后用NewGameBBSData.ReleaseData中InsertReleaseInfo()方法将数据插入数据库
            //上传文件
            string[] savePath = new string[Request.Files.Count];
            string[] fileName = new string[Request.Files.Count];
            string[] fileSize = new string[Request.Files.Count];
            string[] fileExplain = new string[Request.Files.Count];
            int k = 0;
            try
            {
                for (i = 0; i < Request.Files.Count; i++)
                {
                    HttpPostedFile file = Request.Files[i];
                    if (!String.IsNullOrEmpty(file.FileName))
                    {
                        savePath[i] = loadFile.UploadPhoto(file);
                        fileName[i] = loadFile.GetFileName(file.FileName);
                        fileSize[i] = file.ContentLength.ToString();
                        if (i > 0)
                        {
                            k = i + 3;
                        }
                        else
                        {
                            k = i;
                        }
                        fileExplain[i] = Request.Form[string.Format("{0}{1}", "text", k)];
                    }
                }
            }
            catch
            {
            }
            //将主贴文章的附件信息存入数据库中
            NewGameBBSLib.Revert revert = new NewGameBBSLib.Revert();
            for (i = 0; i < Request.Files.Count; i++)
            {
                if (!String.IsNullOrEmpty(savePath[i]))
                {
                    revert.ArticleID = -2;
                    revert.SavePath = savePath[i];
                    revert.FileName = fileName[i];
                    revert.FileSize = fileSize[i];
                    revert.Explain = fileExplain[i];
                    revert.AddArticleFile();
                }
            }
        }

原创粉丝点击