以下是我的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
总是显示错误信息。我想知道我的代码中有什么问题!
答案 0 :(得分:1)
如果您想要的是断言扩展,那么您可以尝试这样的事情:
\.(jpeg|JPEG|png|PNG|gif|GIF)$
这将匹配以.
结尾的任何内容,后跟上述任一扩展名。
修改强>
如果没有尝试过并且没有使用aspx的经验,我认为您应该能够使用(?i:)
使其不区分大小写:
(?i:\.jpeg|png|gif)$
答案 1 :(得分:0)
你应该试试这个
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")
{
}
}