上传文件有两个主要的目的地,一个是服务器,另一个是数据库,ASP.NET内置了FileUpload这个上传控件,文本框显示用户选择的文件的全名.
其属性主要包括:
ContenLength:上传文件大小,单位:字节
FileName:文件名称
HasFile:是否选择了文件
例子:
测试环境.net 2.0(内有详细说明)
default.aspx
<!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 runat="server">
<div>
<asp:FileUpload runat="server" /><br />
<br />
<asp:Button runat="server" Text="上传" /> </div>
</form>
</body>
</html>
default.aspx.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 _Default : System.Web.UI.Page
{
protected void
Page_Load(object sender, EventArgs e)
{
}
protected void btnUpload_Click(object sender, EventArgs e)
{
Boolean fileOk = false;
string path =
Server.MapPath("~/upload/");
//判断是否已经选取文件
if
(FileUpload1.HasFile)
{
//取得文件的扩展名,并转换成小写
string fileExtension =
System.IO.Path.GetExtension(FileUpload1.FileName).ToLower();
//限定只能上传jpg和gif图片
string[] allowExtension = { ".jpg", ".gif"
};
//对上传的文件的类型进行一个个匹对
for (int i = 0; i <
allowExtension.Length; i++)
{
if
(fileExtension == allowExtension[i])
{
fileOk = true;
break;
}
}
//对上传文件的大小进行检测,限定文件最大不超过1M
if
(FileUpload1.PostedFile.ContentLength > 1024000)
{
fileOk = false;
}
//最后的结果
if (fileOk)
{
try
{
FileUpload1.PostedFile.SaveAs(path +
FileUpload1.FileName);
Response.Write("<script
type=‘text/javascript‘>window.alert(‘上传成功‘)</script>");
}
catch
{
Response.Write("<script
type=‘text/javascript‘>window.alert(‘上传失败‘)</script>");
}
}
else
{
Response.Write("<script
type=‘text/javascript‘>window.alert(‘文件类型或者文件大小超出1M‘)</script>");
}