软枣子苗:在ASP.NET中实现多文件上传 (作者:孟宪会 阅读:111246 发表于:2003-05-20 23:41:07 )

来源:百度文库 编辑:九乡新闻网 时间:2024/04/20 15:07:08

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

ASPX 代码<%@ Page Language="C#" AutoEventWireup="true" CodeFile="MultiFileUpload.aspx.cs"
  Inherits="MultiFileUpload" %>

"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">


  孟宪会多文件上传测试

  



  

  

多文件上传


   用户名:
  

    
  

  

    
  

  

          onclick="UploadButton_Click">
  

  

          Width="500px" BorderStyle="None" BorderColor="White">
  

  



 

C# 代码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 + "
");
      strMsg.Append("上传的文件分别是:
");
      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() + "
");
            strMsg.Append("客户端文件地址:" + postedFile.FileName + "
");
            strMsg.Append("上传文件的文件名:" + fileName + "
");
            strMsg.Append("上传文件的扩展名:" + fileExtension + "

");
            ///'可根据扩展名字的不同保存到不同的文件夹
            ///注意:可能要修改你的文件夹的匿名写入权限。
            postedFile.SaveAs(System.Web.HttpContext.Current.Request.MapPath("images/") + fileName);
          }
        }
        strStatus.Text = strMsg.ToString();
      }
      catch (System.Exception Ex)
      {
        strStatus.Text = Ex.Message;
      }

    }
}