ASP.NET多文件上传实例
2015-11-09 20:33
701 查看
在Web应用程序开发中,避免不了要用到上传文件这个功能,但以前上传文件是个很麻烦的事,现在有了.NET,文件上传变得轻而易举。下面的这个例子实现了多文件上传功能。可以动态添加输入表单,上传的文件数量没有限制。代码如下:
原文地址:/article/5070437.html
<%@ Page Language="C#" AutoEventWireup="true" CodeFile="MultiFileUpload.aspx.cs" Inherits="MultiFileUpload" %> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head runat="server"> <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> using System; using System.Collections.Generic; using System.Linq; using System.Web; using System.Web.UI; using System.Web.UI.WebControls; public partial class MultiFileUpload : System.Web.UI.Page { 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; } } }
原文地址:/article/5070437.html
相关文章推荐
- C#,Dictionary,asp.net 字典 用法及简单操作
- C#,Dictionary,asp.net 字典 用法及简单操作
- asp.net堆和栈的对比 #1
- asp.net试题解析
- Barcode Professional for ASP.NET使用教程:如何在HTML支持的DPI范围内显示高清条码
- Asp.Net 之 未能加载文件或程序集 system.web.extensions 解决方法
- Barcode Professional for ASP.NET使用教程:如何在HTML支持的DPI范围内显示高清条码
- ASP.NET中在不同的子域中共享Session(二级域名获取不到主域名下的session值)
- ASP.NET动态网站制作(26)-- Ajax
- ExtAspNet框架
- asp.net验证码及怎么获取里面的数值(整合)
- ASP.NET动态网站制作(25)-- ADO.NET(4)
- 转asp.net mvc 显示列表数据
- ASP.NET网址
- ASP.NET加载更多
- ASP.NET 连接mysql数据库
- asp.net中用FileStream类实现下载文件功能,自定义下载路径,像IE下载一样
- asp.net mvc4中自定义404页面
- asp.net EF6.0中出现未找到具有固定名称“System.Data.SqlClient”的 ADO.NET提供程序的实体框架提供程序解决办法
- 基于香蕉派平台的Raspberry Pi操作系统安装与配置