ASP.NET - 多文件上传,纯代码,不使用插件
解决方案:
前段代码:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 | <%@ Page Language= "C#" AutoEventWireup= "true" CodeBehind= "MultiFileUpload.aspx.cs" Inherits= "WebApplication1.MultiFileUpload1" %> <!DOCTYPE html> <html xmlns= "http://www.w3.org/1999/xhtml" > <head runat= "server" > <meta http-equiv= "Content-Type" content= "text/html; charset=utf-8" /> <title>ASP.NET多文件上传测试</title> <script type= "text/javascript" > function addFile() { var div = document.createElement( "div" ); var f = document.createElement( "input" ); f.setAttribute( "type" , "file" ) f.setAttribute( "name" , "File" ) f.setAttribute( "size" , "50" ) div.appendChild(f) var d = document.createElement( "input" ); d.setAttribute( "type" , "button" ) d.setAttribute( "onclick" , "deteFile(this)" ); d.setAttribute( "value" , "移除" ) div.appendChild(d) document.getElementById( "_container" ).appendChild(div); } function deteFile(o) { while (o.tagName != "DIV" ) o = o.parentNode; o.parentNode.removeChild(o); } </script> </head> <body> <form id= "form1" runat= "server" method= "post" enctype= "multipart/form-data" > <h3>多文件上传</h3> 用户名:<asp:TextBox ID= "TextBox1" runat= "server" ></asp:TextBox> <div id= "_container" > <input type= "file" size = "50" name= "File" /> </div> <div> <input type= "button" value= "添加文件(Add)" onclick= "addFile()" /> </div> <div style= "padding: 10px 0" > <asp:Button runat= "server" Text= "开始上传" ID= "UploadButton" OnClick = "UploadButton_Click" ></asp:Button> </div> <div> <asp:Label ID= "strStatus" runat= "server" Font-Names= "宋体" Font-Bold= "True" Font-Size= "9pt" Width= "500px" BorderStyle= "None" BorderColor= "White" ></asp:Label> </div> </form> </body> </html> |
后端代码:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 | using System; using System.Collections.Generic; using System.Linq; using System.Web; using System.Web.UI; using System.Web.UI.WebControls; namespace WebApplication1 { public partial class MultiFileUpload1 : System.Web.UI.Page { protected void Page_Load( object sender, EventArgs e) { } protected void UploadButton_Click( object sender, EventArgs e) { ///遍历File表单元素 HttpFileCollection files = HttpContext.Current.Request.Files; /// 状态信息 System.Text.StringBuilder strMsg = new System.Text.StringBuilder( "您输入的用户名是:" + TextBox1.Text + "<br/>" ); strMsg.Append( "上传的文件分别是:<hr color='red'/>" ); try { for ( int iFile = 0; iFile < files.Count; iFile++) { ///检查文件扩展名字 HttpPostedFile postedFile = files[iFile]; string fileName, fileExtension; fileName = System.IO.Path.GetFileName(postedFile.FileName); if (fileName != "" ) { fileExtension = System.IO.Path.GetExtension(fileName); strMsg.Append( "上传的文件类型:" + postedFile.ContentType.ToString() + "<br>" ); strMsg.Append( "客户端文件地址:" + postedFile.FileName + "<br>" ); strMsg.Append( "上传文件的文件名:" + fileName + "<br>" ); strMsg.Append( "上传文件的扩展名:" + fileExtension + "<br><hr>" ); ///可根据扩展名字的不同保存到不同的文件夹 ///注意:可能要修改你的文件夹的匿名写入权限。 postedFile.SaveAs(System.Web.HttpContext.Current.Request.MapPath( "images/" ) + fileName); } } strStatus.Text = strMsg.ToString(); } catch (System.Exception Ex) { strStatus.Text = Ex.Message; } } } } |
最终效果:
------------------------------------------------------------------------------------------------------------------
posted on 2015-08-18 23:22 ultrastrong 阅读(527) 评论(0) 编辑 收藏 举报
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】凌霞软件回馈社区,博客园 & 1Panel & Halo 联合会员上线
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】博客园社区专享云产品让利特惠,阿里云新客6.5折上折
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步