FileUpload控件验证上传类型的问题

<asp:RegularExpressionValidatorID="FileUpLoadValidator"runat="server"ErrorMessage="只允... <asp:RegularExpressionValidator ID="FileUpLoadValidator" runat="server" ErrorMessage="只允许上传图片文件(后缀为:.jpg|.JPG|.gif|.GIF.bmp|.BMP)"
ValidationExpression="^(([a-zA-Z]:)|(\{2}w+)$?)(\(w[w].*))(.jpg|.JPG|.gif|.GIF|.bmp|.BMP)$" ControlToValidate="FileUpload1">
</asp:RegularExpressionValidator>

网上找了段这样的代码

但运行时却抱错:
正在分析“^(([a-zA-Z]:)|(\{2}w+)$?)(\(w[w].*))(.jpg|.JPG|.gif|.GIF|.bmp|.BMP)$”- ) 过多。

这是怎么回事?
展开
 我来答
音乐人_波菜
2010-04-09 · TA获得超过1147个赞
知道小有建树答主
回答量:176
采纳率:0%
帮助的人:177万
展开全部
你的我看不明白。我给你一段我自己的吧。
//******************封装浏览控件*********************//
FileUpload sss = this.FileUpload1; //封装一个浏览控件
moditem.PartSpecifications = GetImageServerPath(sss);//相映规格书路径了,也就是返回的服务器路径了

----------------调用GetImageServerPath方法-------------------------
/// <summary>
/// 修改文件名称并上传, 获取文件服务器地址返回
/// </summary>
/// <param name="imgObj"></param>
public string GetImageServerPath(FileUpload imgObj)
{

string itemname = Tvw.SelectedNode.Text;
string serverpath = "";
bool fileOk = false;

//获取文件上传的路径(在项目地址里面)
//string path = Server.MapPath("下载/");

//获取文件上传目的路径(在服务器)
string path = "F:\\所有相映文档上传地址\\";
//获取文件的名称
string fn = imgObj.FileName;
ViewState["file"] = fn;

try
{
if (imgObj.HasFile)
{
string fileExtension = Path.GetExtension(imgObj.FileName).ToLower();
string[] allowExtension = { ".rar", ".xls", ".doc", ".ppt" };
for (int i = 0; i < allowExtension.Length; i++)
{
if (fileExtension == allowExtension[i])
fileOk = true;
else { }
}

}
if (fileOk)
{

//这里定义了一个时间time 就是把时间都搞这里来,然后通过,serverpath 拼起来成一个文件名,就是有很长的名字,都是数字啦。不、再是你的比本地的文件名了。

string itname = "(" + itemname + ")";
//文件名称
ViewState["wjm"] = itname + fn;
string time = DateTime.Now.Year.ToString() + "." + DateTime.Now.Month.ToString() + "." + DateTime.Now.Day.ToString() + "-";
serverpath = path + ViewState["itemname"].ToString() + itname + fn;

File.Copy(imgObj.PostedFile.FileName, serverpath); //关键就是这里, 把本地文件copy到你定义的那个serverpath文件中
}
}
catch (Exception ex)
{
throw ex;
}
return serverpath;//然后返回这个拼好的路径,保存到数据库,以后你访问就可以直接访问服务器上的这个serverpaht 路径下的文件了。
}
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式