在ASP.NET中实现多文件上传

来源:互联网 发布:chm阅读软件 编辑:程序博客网 时间:2024/06/05 18:20

在以前的Web应用中,上传文件是个很麻烦的事,现在有了.NET,文件上传变得轻而易举。下面的这个例子实现了多文件上传功能。可以动态添加输入表单,上传的文件数量没有限制。代码如下:

 UpLoad.aspx

 

<%@ Page language="c#" Codebehind="UpLoad.aspx.cs" AutoEventWireup="false" Inherits="WebPortal.Upload" %><!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN" ><HTML><HEAD><title>多文件上传</title></HEAD><body><form id="form1" method="post" runat="server" enctype="multipart/form-data"><div align="center"><div><b><font size="4">多文件上传</font></b></div><div id="MyFile"><INPUT type="file" size="50" NAME="File"></div><P><input type="button" value="增加(Add)" onclick="addFile()"><input onclick="this.form.reset()" type="button" value="重置(ReSet)"></P></div></form></body></HTML>

 UpLoad.aspx.cs

using System;using System.Collections;using System.ComponentModel;using System.Data;using System.Drawing;using System.Web;using System.Web.SessionState;using System.Web.UI;using System.Web.UI.WebControls;using System.Web.UI.HtmlControls;namespace WebPortal{/// <summary>/// UpLoad 的摘要说明。/// 实现多文件上传/// </summary>public class Upload : System.Web.UI.Page{protected System.Web.UI.WebControls.Button UploadButton;protected System.Web.UI.WebControls.Label strStatus;private void Page_Load(object sender, System.EventArgs e){/// 在此处放置用户代码以初始化页面if (this.IsPostBack) this.SaveImages();}private Boolean SaveImages(){///'遍历File表单元素HttpFileCollection files = HttpContext.Current.Request.Files;/// '状态信息System.Text.StringBuilder strMsg = new System.Text.StringBuilder();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();return true;}catch(System.Exception Ex){strStatus.Text = Ex.Message;return false;}}#region Web 窗体设计器生成的代码override protected void OnInit(EventArgs e){//// CODEGEN: 该调用是 ASP.NET Web 窗体设计器所必需的。//InitializeComponent();base.OnInit(e);}/// <summary>/// 设计器支持所需的方法 - 不要使用代码编辑器修改/// 此方法的内容。/// </summary>private void InitializeComponent(){this.ID = "Upload";this.Load += new System.EventHandler(this.Page_Load);}#endregion}}

 

原创粉丝点击