页面代码 :

    <form id="form1" runat="server">
<div>
<asp:FileUpload ID="FileUpload1" runat="server" />
<asp:Button ID="Button1" runat="server" Text="上传" Width="54px" OnClick="Button1_Click" />
<asp:Label ID="Label1" runat="server" Text="" Style="color: Red"></asp:Label>
<asp:Image runat="server" ID="Image1" Style="z-index: 102; left: 20px; position: absolute;
top: 49px" Width="73px" />
</div>
</form>

后台代码 :

using System;
using System.Data;
using System.Configuration;
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; namespace Web.File
{
public partial class WebForm1 : System.Web.UI.Page
{
protected void Page_Load(object sender, EventArgs e)
{ }
#region 文件上传
/// <summary>
/// 文件上传
/// </summary>
protected void Button1_Click(object sender, EventArgs e)
{
if (FileUpload1.FileName == "")
{
this.Label1.Text = "上传文件不能为空";
return;
} bool fileIsValid = false;
//如果确认了上传文件,则判断文件类型是否符合要求
if (this.FileUpload1.HasFile)
{
//获取上传文件的后缀
String fileExtension = System.IO.Path.GetExtension(this.FileUpload1.FileName).ToLower();
String[] restrictExtension = { ".gif", ".jpg", ".bmp", ".png" };
//判断文件类型是否符合要求
for (int i = ; i < restrictExtension.Length; i++)
{
if (fileExtension == restrictExtension[i])
{
fileIsValid = true;
}
//如果文件类型符合要求,调用SaveAs方法实现上传,并显示相关信息
if (fileIsValid == true)
{
//上传文件是否大于10M
if (FileUpload1.PostedFile.ContentLength > ( * * ))
{
this.Label1.Text = "上传文件过大";
return;
}
try
{
this.Image1.ImageUrl = "~/File/" + FileUpload1.FileName;
this.FileUpload1.SaveAs(Server.MapPath("~/File/") + FileUpload1.FileName);
this.Label1.Text = "文件上传成功!";
}
catch
{
this.Label1.Text = "文件上传失败!";
}
finally
{ }
}
else
{
this.Label1.Text = "只能够上传后缀为.gif,.jpg,.bmp,.png的文件";
}
}
}
}
#endregion
}
}

Web.config 配置:

<!--因为FileUpload 控件上传最大为4M,如果要上传更大文件,改下maxRequestLength的大小-->
<configuration>
<system.web>
<compilation debug="true" targetFramework="4.0" />
<httpRuntime requestValidationMode="2.0" maxRequestLength="" executionTimeout="" appRequestQueueLimit=""/>
</system.web>
</configuration>

效果:存在浏览器兼容问题

FileUpload 简单上传+小预览-LMLPHP

小白正学习中......

04-18 03:52