<script language="VB" runat="server">
Sub UploadFile(sender As Object, e As EventArgs)If FileUp.PostedFile.ContentLength = 0 Then
FileInfo.Visible = False
Exit Sub
Else
FileInfo.Visible = True
End IfFSize.Text = CStr(FileUp.PostedFile.ContentLength)
FName.Text = FileUp.PostedFile.FileNameDim FileSplit() As String = Split( FileUp.PostedFile.FileName, "\" )
Dim FileName As String = FileSplit(FileSplit.Length-1)
FileUp.PostedFile.SaveAs( Server.MapPath(".") & "\Upload\" & FileName )Dim Exts() As String = Split( FileName, "." )
Dim Ext As String = LCase(Exts(Exts.Length-1))
If Ext <> "jpg" And Ext <> "jpeg" And Ext <> "gif" And Ext <> "txt" And Ext <> "htm" And Ext <> "html" Then
FDisplay.Visible = False
Else
FDisplay.Text = "<A Target='_blank' HREF='Upload/" & _
FileName & "'>上传文件</A>"
End If
End Sub
</script><Html>
<Body BgColor=White>
<H3>上传文件<Hr></H3><Form Enctype="multipart/form-data" runat="server">
上传文件
<Input Type="File" id="FileUp" runat="server"><P>
<Asp:button id="Upload" OnClick="UploadFile" Text="Upload"
runat="server"/>
</form><Hr><Div id="FileInfo" Visible="False" runat="server">
上传文件名 <Asp:Label id="FName" runat="server"/><br>
上传文件大小 <Asp:Label id="FSize" runat="server"/><br>
<Asp:Label id="FDisplay" runat="server"/>
</Div></Body>
</Html>
Sub UploadFile(sender As Object, e As EventArgs)If FileUp.PostedFile.ContentLength = 0 Then
FileInfo.Visible = False
Exit Sub
Else
FileInfo.Visible = True
End IfFSize.Text = CStr(FileUp.PostedFile.ContentLength)
FName.Text = FileUp.PostedFile.FileNameDim FileSplit() As String = Split( FileUp.PostedFile.FileName, "\" )
Dim FileName As String = FileSplit(FileSplit.Length-1)
FileUp.PostedFile.SaveAs( Server.MapPath(".") & "\Upload\" & FileName )Dim Exts() As String = Split( FileName, "." )
Dim Ext As String = LCase(Exts(Exts.Length-1))
If Ext <> "jpg" And Ext <> "jpeg" And Ext <> "gif" And Ext <> "txt" And Ext <> "htm" And Ext <> "html" Then
FDisplay.Visible = False
Else
FDisplay.Text = "<A Target='_blank' HREF='Upload/" & _
FileName & "'>上传文件</A>"
End If
End Sub
</script><Html>
<Body BgColor=White>
<H3>上传文件<Hr></H3><Form Enctype="multipart/form-data" runat="server">
上传文件
<Input Type="File" id="FileUp" runat="server"><P>
<Asp:button id="Upload" OnClick="UploadFile" Text="Upload"
runat="server"/>
</form><Hr><Div id="FileInfo" Visible="False" runat="server">
上传文件名 <Asp:Label id="FName" runat="server"/><br>
上传文件大小 <Asp:Label id="FSize" runat="server"/><br>
<Asp:Label id="FDisplay" runat="server"/>
</Div></Body>
</Html>
aspx文件:
<form id="Form1" method="post" encType="multipart/form-data" runat="server">
<FONT face="宋体">
<asp:textbox id="TextBox1" style="Z-INDEX: 101; LEFT: 80px; POSITION: absolute; TOP: 353px" runat="server"></asp:textbox><INPUT id="FileInput" style="Z-INDEX: 102; LEFT: 160px; POSITION: absolute; TOP: 51px" type="file" runat="server"></FONT>
<asp:button id="Button1" style="Z-INDEX: 103; LEFT: 265px; POSITION: absolute; TOP: 85px" runat="server" Text="Button"></asp:button>
<asp:Label id="Label1" style="Z-INDEX: 104; LEFT: 42px; POSITION: absolute; TOP: 152px" runat="server">附件名称</asp:Label>
<asp:Label id="Label2" style="Z-INDEX: 105; LEFT: 47px; POSITION: absolute; TOP: 195px" runat="server">附件类型</asp:Label>
<asp:Label id="Label3" style="Z-INDEX: 106; LEFT: 41px; POSITION: absolute; TOP: 238px" runat="server" Width="79px" Height="22px">附件大小</asp:Label>
<asp:Label id="FileName" style="Z-INDEX: 107; LEFT: 147px; POSITION: absolute; TOP: 151px" runat="server" Width="267px" Height="27px"></asp:Label>
<asp:Label id="FileType" style="Z-INDEX: 108; LEFT: 146px; POSITION: absolute; TOP: 196px" runat="server" Width="268px" Height="16px"></asp:Label>
<asp:Label id="FileSize" style="Z-INDEX: 109; LEFT: 150px; POSITION: absolute; TOP: 237px" runat="server" Width="267px" Height="12px"></asp:Label></form>cs文件:
private void Button1_Click(object sender, System.EventArgs e)
{
try
{
string FileName=FileInput.PostedFile.FileName;
if (FileName!="")
{
double size=(double)FileInput.PostedFile.ContentLength/(1024*1024);
this.FileSize.Text=System.Math.Round(size,2).ToString()+"MB";
this.FileName.Text=FileName.Substring(FileName.LastIndexOf("\\")+1);
this.FileType.Text=FileInput.PostedFile.ContentType;
}
else
this.TextBox1.Text="It is failure!";
this.Button1.Text="Finish!";
}
catch
{
this.Button1.Text="Failure";
}
}
<script language="C#" runat=server>
void UploadBtn_Click(object sender,EventArgs e)
{
UploadFile.PostFile.SaveAs(Server.MapPath("test.jpg"));
MyImage.ImageUrl = "test.jpg";
MyImage.visible = true;
}
</script>
<body>
<form enctype="multipart/form-data" runat=server>
<h3>
选择文件:<input di="UploadFile" type=file runat=server>
<asp:button Text="上传" OnClick="UploadBtn_Click" runat=server/>
<hr>
<asp:image id="MyImage" Visible=false runat=server/>
</form>
</body>
</html>注意form中enctype="multipart/form-data"不可省略
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;
using System.Xml;
namespace webchange
{
/// <summary>
/// attachme allows for multiple files to be uploaded to your web server while using only
/// one HttpInputFile control and a listbox.
/// </summary>
public class attachme : System.Web.UI.Page
{
protected System.Web.UI.WebControls.ListBox ListBox1;
protected System.Web.UI.WebControls.Button AddFile;
protected System.Web.UI.WebControls.Button RemvFile;
protected System.Web.UI.HtmlControls.HtmlInputFile FindFile;
protected System.Web.UI.HtmlControls.HtmlInputButton Upload;
protected System.Web.UI.WebControls.Label Label1;
public ArrayList files = new ArrayList();
static public ArrayList hif = new ArrayList();
public int filesUploaded = 0;
private void Page_Load(object sender, System.EventArgs e)
{
// Put user code to initialize the page here
} #region Web Form Designer generated code
override protected void OnInit(EventArgs e)
{
//
// CODEGEN: This call is required by the ASP.NET Web Form Designer.
//
InitializeComponent();
base.OnInit(e);
}
/// <summary>
/// Required method for Designer support - do not modify
/// the contents of this method with the code editor.
/// </summary>
private void InitializeComponent()
{
this.AddFile.Click += new System.EventHandler(this.AddFile_Click);
this.RemvFile.Click += new System.EventHandler(this.RemvFile_Click);
this.Upload.ServerClick += new System.EventHandler(this.Upload_ServerClick);
this.Load += new System.EventHandler(this.Page_Load); }
#endregion /// <summary>
/// AddFile will add the path of the client side file that is currently in the PostedFile
/// property of the HttpInputFile control to the listbox.
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
private void AddFile_Click(object sender, System.EventArgs e)
{
if (Page.IsPostBack == true)
{
hif.Add(FindFile);
ListBox1.Items.Add(FindFile.PostedFile.FileName);
}
else
{
}
} /// <summary>
/// RemvFile will remove the currently selected file from the listbox.
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
private void RemvFile_Click(object sender, System.EventArgs e)
{
if(ListBox1.Items.Count != 0)
{
hif.RemoveAt(ListBox1.SelectedIndex);
ListBox1.Items.Remove(ListBox1.SelectedItem.Text);
}
} /// <summary>
/// Upload_ServerClick is the server side script that will upload the files to the web server
/// by looping through the files in the listbox.
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
public void Upload_ServerClick(object sender, System.EventArgs e)
{
string baseLocation = "D:\\lt\\asp.net_test\\multipleupload\\temp\\";
string status = "";
if((ListBox1.Items.Count == 0) && (filesUploaded == 0))
{
Label1.Text = "Error - a file name must be specified.";
return; }
else
{
foreach(System.Web.UI.HtmlControls.HtmlInputFile HIF in hif)
{
try
{
string fn = System.IO.Path.GetFileName(HIF.PostedFile.FileName);
HIF.PostedFile.SaveAs(baseLocation + fn);
filesUploaded++;
status += fn + "<br>";
}
catch(Exception err)
{
Label1.Text = "Error saving file " + baseLocation + "<br>" + err.ToString();
}
} if(filesUploaded == hif.Count)
{
Label1.Text = "These " + filesUploaded + " file(s) were uploaded:<br>" + status;
}
hif.Clear();
ListBox1.Items.Clear();
}
} }
}
<%@ Page language="c#" Codebehind="webform1.aspx.cs" AutoEventWireup="false" Inherits="webchange.attachme" %>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN" >
<HTML>
<HEAD>
<title>attachme</title>
<meta content="Microsoft Visual Studio 7.0" name="GENERATOR">
<meta content="C#" name="CODE_LANGUAGE">
<meta content="JavaScript" name="vs_defaultClientScript">
<meta content="http://schemas.microsoft.com/intellisense/ie5" name="vs_targetSchema">
<LINK href="StyleSheet.css" rel="stylesheet">
</HEAD>
<body MS_POSITIONING="GridLayout">
<form id="attachme" method="post" encType="multipart/form-data" runat="server">
<INPUT class="bluebutton" id="FindFile" style="Z-INDEX: 101; LEFT: 36px; WIDTH: 274px; POSITION: absolute; TOP: 123px; HEIGHT: 22px" type="file" size="26" runat="server" NAME="FindFile">
<asp:listbox id="ListBox1" style="Z-INDEX: 102; LEFT: 36px; POSITION: absolute; TOP: 149px" runat="server" CssClass="txtbox" Height="100px" Width="274px" Font-Size="XX-Small"></asp:listbox>
<asp:button id="AddFile" style="Z-INDEX: 103; LEFT: 34px; POSITION: absolute; TOP: 254px" runat="server" CssClass="bluebutton" Height="23px" Width="72px" Text="Add"></asp:button>
<asp:button id="RemvFile" style="Z-INDEX: 104; LEFT: 119px; POSITION: absolute; TOP: 255px" runat="server" CssClass="bluebutton" Height="23px" Width="72px" Text="Remove"></asp:button>
<INPUT class="bluebutton" id="Upload" style="Z-INDEX: 105; LEFT: 236px; WIDTH: 71px; POSITION: absolute; TOP: 254px; HEIGHT: 24px" type="submit" value="Upload" runat="server" onserverclick="Upload_ServerClick" NAME="Upload">
</form>
<asp:label id="Label1" style="Z-INDEX: 106; LEFT: 44px; POSITION: absolute; TOP: 308px" runat="server" Height="20px" Width="249px"></asp:label></SPAN>
</body>
</HTML>