【问题标题】:RegularExpressionValidator always show error messageRegularExpressionValidator 总是显示错误信息
【发布时间】:2013-03-27 17:59:55
【问题描述】:

这是我的aspx代码:

<asp:FileUpload ID="ImageUpload" runat="server" Style="margin-bottom: 5px" />
<br />
<asp:RegularExpressionValidator ID="RegularExpressionValidator1" runat="server" 
 ErrorMessage="Only jpeg, png or gif files are allowed!"
 ValidationExpression="^(([a-zA-Z]:)|(\\{2}\w+)\$?)(\\(\w[\w].*))
 +(.jpeg|.JPEG|.png|.PNG|.gif|.GIF)$" 
 ControlToValidate="ImageUpload"></asp:RegularExpressionValidator>

我只想在我的ImageUpload 中过滤 jpeg、png 和 gif 文件。 但是,当我上传 jpeg、png 和 gif 文件时,RegularExpressionValidator 总是显示错误消息。我想知道我的代码有什么问题!

【问题讨论】:

  • 您是在尝试使用该正则表达式验证其他任何内容,还是只想断言扩展名是图像格式?
  • 尝试将显示模式添加到动态
  • @rvalvik > 图片上传 :) 只想获取图片格式!
  • @wy__ ,还是不行:|

标签: c# asp.net regex file-upload


【解决方案1】:

如果你只想声明扩展,那么你可以尝试这样的事情:

\.(jpeg|JPEG|png|PNG|gif|GIF)$

这将匹配以. 结尾的任何内容,后跟上述任一扩展名。

编辑:

没有尝试过并且没有使用过aspx的经验,我认为您应该可以使用(?i:)使其不区分大小写:

(?i:\.jpeg|png|gif)$

【讨论】:

    【解决方案2】:

    你应该试试这个

    protected void Button1_Click(object sender, EventArgs e)
            {
                string filename = fileUpload.PostedFile.FileName;
                string extsn = Path.GetExtension(filename);
                if (extsn.ToUpper() == ".JPEG" || extsn.ToUpper() == ".PNG" || extsn.ToUpper() == ".GIF")
                { 
    
                }
            }
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-07-25
      • 2013-08-20
      • 2019-02-03
      相关资源
      最近更新 更多