前台:
<%@ Page Language="C#" AutoEventWireup="true" CodeFile="Test.aspx.cs" Inherits="Test" %>
<!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>
<table>
<tr>
<td>请点“浏览”选择您要上传的文件<INPUT style="WIDTH: 70%" id="upLoadFile" class="button" type="file" name="upLoadFile"
runat="server">
<asp:Button id="btnUpdate" runat="server" CssClass="button" Text="上 传" OnClick="btnUpdate_Click"></asp:Button></td>
</tr>
</table>
</div>
</form>
</body>
</html>
后台:
//上传按钮事件
protected void btnUpdate_Click(object sender, EventArgs e)
{
string strNowTime = System.DateTime.Now.ToString("yyyyMMddHHmmss");
string strFileNameOld = this.upLoadFile.PostedFile.FileName;
if (strFileNameOld.LastIndexOf(".") <= -1)
{
UploadUtil.popupMessage("请输入正确的文件名称",this);
return;
}
//strFileName为上传之后文件名,即上传文件的当前时间的年月日时分秒+文件后缀名,如想改动可以自己随意组合
string strFileName = strNowTime + strFileNameOld.Substring(strFileNameOld.LastIndexOf("."));
string strFilePath = Server.MapPath("~/image/");//想把上传的文件放到哪里,只要在项目根目录建立对应文件夹即可
string ErrorMessage = "";
if (UploadUtil.UploadFile(this.upLoadFile, strFilePath + strFileName, out ErrorMessage,this) == true)
{
UploadUtil.popupMessage("文件上传成功!",this);
return;
}
else
{
UploadUtil.popupMessage(ErrorMessage,this);
return;
}
}
最后,在APP_CODE下新建类UploadUtil.cs,代码如下:
using System;
using System.Web;
using System.Web.UI.HtmlControls;
/// <summary>
/// 上传文件工具类
/// </summary>
public class UploadUtil
{
public UploadUtil()
{
}
#region public static 上传图片文件
/// <summary>
/// 上传图片文件
/// </summary>
/// <param name="InputFileCotrol">上传控件</param>
/// <param name="FilePathName">保存的文件名</param>
/// <param name="ErrorMessage">传出去的错误信息</param>
/// <param name="page">一般写THIS</param>
/// <returns>是否成功</returns>
public static bool UploadFile(HtmlInputFile InputFileCotrol, string FilePathName, out string ErrorMessage, System.Web.UI.Page page)
{
string strFileName = "";
string strExtendName = "";
ErrorMessage = "";
//得到上传的文件
HttpPostedFile filePosted = InputFileCotrol.PostedFile;
strFileName = filePosted.FileName;
//判断文件名是否为空
if (strFileName == "" || filePosted.ContentLength == 0)
{
ErrorMessage = "上传文件不能为空";
return false;
}
if (filePosted.ContentLength > 5242880)
{
ErrorMessage = "上传文件不能太大";
return false;
}
//检查后缀名是否正确(如想支持更多文件格式上传,可以在此添加)
strExtendName = strFileName.Substring(strFileName.LastIndexOf("."));
//.DOC.XLS.TXT.PDF.JPEG,PPT,htm
if (strExtendName.ToLower() != ".doc" && strExtendName.ToLower() != ".xls" && strExtendName.ToLower() != ".txt"
&& strExtendName.ToLower() != ".pdf" && strExtendName.ToLower() != ".jpeg" && strExtendName.ToLower() != ".ppt"
&& strExtendName.ToLower() != ".jpg"
&& strExtendName.ToLower() != ".zip"
&& strExtendName.ToLower() != ".htm"
)
{
ErrorMessage = "请上传指定格式的文件";
popupMessage(ErrorMessage, page);
return false;
}
//上传图片
try
{
filePosted.SaveAs(FilePathName);
}
catch (Exception exec)
{
ErrorMessage = "上传文件失败" + exec.Message;
return false;
}
return true;
}
//该方法为弹出消息框,可用可不用,网上一大把
public static void popupMessage(string Message, System.Web.UI.Page page)
{
Message = Message.Replace("\n", "\\n").Replace("\"", "“").Replace("'", "‘");
string strScript = "<script language='javascript'>window.alert('" + Message + "');</script>";
page.RegisterStartupScript("successAlert", strScript);
}
#endregion
}