图像的正则表达式?

时间:2014-12-08 06:59:48

标签: asp.net regex

我必须使用文件up-loader将图像上传到DB中。我已使用下面给出的代码,但它不起作用。如果我上传任何也插入数据库的pdf或doc文件,也会显示错误消息。如果文件不是图像格式,我想停止插入。帮我找一个合适的解决方案。谢谢。

ASPX:

<asp:FileUpload ID="PhotoUpload1" runat="server" ForeColor="#999999" />
<asp:RegularExpressionValidator ID="RegularExpressionValidator6" runat="server" ErrorMessage="*jpeg,gif,png" ControlToValidate="PhotoUpload1" ForeColor="Red" 
ValidationExpression=".*\.([gG][iI][fF]|[jJ][pP][gG]|[jJ][pP][eE][gG]|[bB][mM][pP])$">
</asp:RegularExpressionValidator>


<asp:Button ID="btnSubmit" runat="server" OnClick="btnSubmit_Click" Text="Submit" />

2 个答案:

答案 0 :(得分:3)

这适用于jpg,png,gif和png。

<强>已更新

/.*\.(gif|jpe?g|bmp|png)$/igm

您可以查看其工作原理here

答案 1 :(得分:1)

尝试alternation&#34; |&#34;符号。并且只列出允许的文件扩展名(白名单),如jpg,png。

<asp:FileUpload ID="PhotoUpload1" runat="server" ForeColor="#999999" />
<asp:RegularExpressionValidator ID="RegularExpressionValidator6" runat="server" ErrorMessage="*jpeg,gif,png" ControlToValidate="PhotoUpload1" ForeColor="Red" 
ValidationExpression="(.*png$)|(.*jpg$)|(.*jpeg$)">
</asp:RegularExpressionValidator>

Asp.Net验证也需要validated on server side

    protected void btnSubmit_Click(object sender, EventArgs e)
    {
       //Note that there might be ServerSideValidation which evaluated to false.
       if (!Page.IsValid)  
         return;

       // Insert DB code here.
    }