ASP.NET上传多个文件

    技术2022-05-12  21

     上传多个文件,效果图如下:

    前台代码和JavaScript脚本:

    <mce:script type="text/javascript"><!-- function AddFile() { var strFile='<input name="File1" type="file" /></br>'; document.getElementById("DivFile").insertAdjacentHTML("beforeEnd",strFile); } // --></mce:script> <div id="DivFile"> <input id="File1" type="file" /> </div> <input id="BtnAddFile" type="button" value="添加附件" οnclick="javascript:AddFile()" />

    后台处理代码:

      protected void BtnUpFiles_Click(object sender, EventArgs e) { StringBuilder strMessage = new StringBuilder(); //HttpFileCollection: 提供对客户端上载文件的访问,并组织这些文件。 HttpFileCollection Files = HttpContext.Current.Request.Files; for (int i = 0; i < Files.Count;i++ ) { //HttpPostedFile: 提供对客户端已上载的单独文件的访问。 HttpPostedFile PostedFile = Files[i]; if (PostedFile.ContentLength>0) { string FileName = PostedFile.FileName; string strExPrentFile = FileName.Substring(FileName.LastIndexOf(".") + 1);//获取文件后缀名; string[] NoExPrentFile = new string[] { "exe", "asp", "php" }; bool IsUp = true; //过滤文件格式。 for (int j = 0; j < NoExPrentFile.Length; j++) { if (strExPrentFile.Equals(NoExPrentFile[j])) { IsUp = false; } } if (IsUp)//如果格式正确; { //构成文件路径:(文件名(由时间格式生成)+后缀名) string sFilePath = string.Format("files/{0}.{1}", DateTime.Now.ToString("mmhhddss"), strExPrentFile); PostedFile.SaveAs(Server.MapPath(sFilePath)); strMessage.Append("文件上传成功!"); strMessage.Append(string.Format("{0}.{1}", DateTime.Now.ToString("mmhhddss"), strExPrentFile)); strMessage.Append("<br />"); strMessage.Append("文件的格式:"); strMessage.Append(strExPrentFile); strMessage.Append("<br />```````````````<br />"); //this.LabMessage.Text = "文件上传成功!" + "<br />文件名是:" + string.Format("{0}.{1}", DateTime.Now.ToString("mmhhddss"), strExPrentFile) + "<br />文件的格式:" + strExPrentFile; } else { this.LabMessage.Text = string.Format("不允许上传{0}格式文件", NoExPrentFile); } } else { this.LabMessage.Text = "不能上传空文件"; } } this.LabMessage.Text = strMessage.ToString(); }


    最新回复(0)