Asp.Net中多文件上传

来源:互联网 发布:淘宝一钻后能赚多少钱 编辑:程序博客网 时间:2024/09/21 06:33

最近工作比较忙,好长时间都没有到我的博客里来看看了。前天帮我兄弟解决了一个多文件上传的问题。供大家参考

前台代码如下

<%@ Page Language="C#" AutoEventWireup="true" CodeFile="upMoreFile.aspx.cs" Inherits="upMoreFile" %>

<!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>上传多文件</title>
    
<script type="text/javascript">
     function addFileControl()
    
{
        var str 
= '<INPUT type="file" NAME="File">'
        document.getElementById(
'FileCollection').insertAdjacentHTML("beforeEnd",str)
    }

    
</script>
</head>
<body>
    
<form id="upmorefile" runat="server" method="post" enctype="multipart/form-data">
    
<div>
    
<asp:label id="Title" Runat="server"></asp:label>
            
<p id="FileCollection"><input type="file" name="File"/>
            
</p>
            
<p><input onclick="addFileControl()" type="button" value="增加(File)"/>
                
<asp:button id="Upload" Runat="server" Text="上传" Width="56px" OnClick="Upload_Click"></asp:button><input style="WIDTH: 56px; HEIGHT: 24px" onclick="this.form.reset()" type="button" value="重置"/>
            
</p>
            
<p align="center"><asp:label id="strStatus" runat="server" BorderColor="White" BorderStyle="None" Width="500px"
                    Font
-Size="9pt" Font-Bold="True" Font-Names="宋体"></asp:label></p>
    
</div>
    
</form>
</body>
</html>

 .cs代码如下:

 

using System;
using System.Data;
using System.Configuration;
using System.Collections;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Web.UI.HtmlControls;

public partial class upMoreFile : System.Web.UI.Page
{
    
protected void Page_Load(object sender, EventArgs e)
    
{
        Title.Text 
= "<h3>多文件上传</h3>";
        Upload.Text 
= "开始上传";

    }


    
/// <summary>
    
/// 方法名:upMoreFile()
    
/// 功能描述:循环表单,多文件上传
    
/// 调用方法:bool var=upMoreFile()
    
/// </summary>
    
/// <returns>bool</returns>

    protected bool upMorefile()
    
{
        
//遍历File表单元素
        System.Web.HttpFileCollection files = System.Web.HttpContext.Current.Request.Files;
        
//状态信息
        System.Text.StringBuilder strMsg = new System.Text.StringBuilder("上传的文件信息分别为:<hr color=red>");
        
int fileCount;
        
int filecount = files.Count;
       
        
try
        
{
            
for (fileCount = 0; fileCount < files.Count; fileCount++)
            
{
                
//定义访问客户端上传文件的对象
                System.Web.HttpPostedFile postedFile = files[fileCount];
                
string fileName, fileExtension;
                
//取得上传得文件名
                fileName = System.IO.Path.GetFileName(postedFile.FileName);
                
if (fileName != String.Empty)
                
{
                    
//取得文件的扩展名
                    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 color=red>");
                    
//保存到指定的文件夹
                   
                    postedFile.SaveAs(Server.MapPath(
"upedFile/"+ fileName);
                    
                }

            }

            strStatus.Text 
= strMsg.ToString();
            
return true;
        }

        
catch (System.Exception error)
        
{
            strStatus.Text 
= error.Message;
            
return false;

        }

    }

    
protected void Upload_Click(object sender, EventArgs e)
    
{
        upMorefile();

    }

}

 

效果如下:

 

 

 

 

原创粉丝点击