1、在web.config中设置允许文件上传的类型
<appSettings>
<!--允许上传的文件类型-->
<add key="FileType" value=".jpg;.bmp;.gif;.png;.jpeg;.pdf;.zip;.rar;.xls;.doc"/>
</appSettings>
if (IsPostBack)
{
bool fileOk = false;//检测允许文件类型开关
string path = Server.MapPath("/UploadedImages/"); //设置文件上传路径
//获取web.config文件<appSettings>节点中允许上传文件类型(A)
string allExtensions = ConfigurationManager.AppSettings["FileType"].ToString();
/*
* 使用程序内强制限定上传文件类型(B)
*
string[] allExtensions = {".gif",".png",".jpeg",".pdf",".zip"};
*
*/
string fileExtension=string.Empty;
if (FileUpload1.HasFile)
{
//使用(A)方法
if (allExtensions.IndexOf(Path.GetExtension(FileUpload1.FileName).ToLower()) != -1)
{
fileExtension = Path.GetExtension(FileUpload1.FileName).ToLower();
fileOk = true;
}
/*
* 使用(B)方法
fileExtension = Path.GetExtension(FileUpload1.FileName).ToLower();
for (int i = 0; i < allExtensions.Length; i++)
{
if (fileExtension == allExtensions[i])
{
fileOk = true;
}
}
* */
}
if (fileOk)
{
string newFileName=DateTime.Now.ToString("yyyyMMddhhmmss")+fileExtension;//更改上传后文件名
try
{
FileUpload1.PostedFile.SaveAs(path + newFileName);
Label1.Text = newFileName + "上传成功";
}
catch (Exception)
{
Label1.Text = "文件上传失败";
}
}
else
{
Label1.Text = "不接受此类型的文件上传";
}
}