HTML窗体页面代码:
<%@ Page Language="C#" AutoEventWireup="true" CodeFile="upload.aspx.cs" Inherits="upload" %>
<!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>
</head>
<body>
<form id="form1" runat="server">
<div>
<center>
<h3> 文件上传的实例, 来自<a href="http://blog.csdn.net/qq380107165/article/details/6957818">qq380107165</a></h3>
</div>
<table border="1" cellspacing="2" cellpadding="2" >
<tr> <td><h5>选择要上传的文件:</h5></td></tr>
<tr>
<td>
<input type="file" id="myfile" runat="server" name="myfile">
</td>
</tr>
<tr><td>
<%--<input type="button" value="上 传" onserverclick="uploadfile" runat="server" id="button1" name="button1"/>--%>
<asp:Button ID="Button2" runat="server" Text="上传" οnclick="Button2_Click" />
</td></tr>
</table>
</form>
<br>
<br>
<table border="1" cellspacing="2">
<tr><td><b>文件资料</b></td>
<td> </td>
</tr>
<tr>
<td>文件名 :</td>
<td><asp:label id="fname" runat="server" /></td></tr>
<tr>
<td>文件类型 :</td>
<td><asp:label id="fenc" runat="server" /></td></tr>
<tr>
<td>文件大小 :(in bytes)</td>
<td><asp:label id="fsize" runat="server" /></td></tr>
</table>
<br>
<br>
<br>
</center>
</div>
</form>
</body>
</html>
上传按钮单击事件代码:
protected void Button2_Click(object sender, EventArgs e)
{
//检查上传文件不为空
if (myfile.PostedFile != null)
{
string nam = myfile.PostedFile.FileName;
//取得文件名(抱括路径)里最后一个"."的索引
int i = nam.LastIndexOf(".");
//取得文件扩展名
string newext = nam.Substring(i);
//这里我自动根据日期和文件大小不同为文件命名,确保文件名不重复
DateTime now = DateTime.Now;
string newname = now.DayOfYear.ToString() + myfile.PostedFile.ContentLength.ToString();
//保存文件到你所要的目录,这里是iis根目录下的upload目录.你可以改变.
//注意: 我这里用server.mappath()取当前文件的绝对目录.在asp.net里"\"必须用"\\"代替
myfile.PostedFile.SaveAs(Server.MapPath("upload//" + newname + newext));
//得到这个文件的相关属性:文件名,文件类型,文件大小
fname.Text = myfile.PostedFile.FileName;
fenc.Text = myfile.PostedFile.ContentType;
fsize.Text = myfile.PostedFile.ContentLength.ToString();
}
}