日期:2014-05-19  浏览次数:20453 次

求批量上传的方法
如何实现文件的批量上传

------解决方案--------------------
孟子E章的

C# 版本

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>
<script language= "JavaScript ">
function addFile()
{
var str = ' <INPUT type= "file " size= "50 " NAME= "File "> '
document.getElementById( 'MyFile ').insertAdjacentHTML( "beforeEnd ",str)
}
</script>
</HEAD>
<body>
<form id= "form1 " method= "post " runat= "server " enctype= "multipart/form-data ">
<div align= "center ">
<h3> 多文件上传 </h3>
<P id= "MyFile "> <INPUT type= "file " size= "50 " NAME= "File "> </P>
<P>
<input type= "button " value= "增加(Add) " onclick= "addFile() ">
<input onclick= "this.form.reset() " type= "button " value= "重置(ReSet) ">
<asp:Button Runat= "server " Text= "开始上传 " ID= "UploadButton "> </asp:Button>
</P>
<P>
<asp:Label id= "strStatus " runat= "server " Font-Names= "宋体 " Font-Bold= "True " Font-Size= "9pt "
Width= "500px " BorderStyle= "None " BorderColor= "White "> </asp:Label>
</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.Pa