我正在尝试将文件类型检查添加到文件上传表单:
<asp:FileUpload ID="FileUpload1" runat="server" />
<asp:RegularExpressionValidator id="FileUpLoadValidator" runat="server" ErrorMessage="Upload .doc, .pdf or .xls files only." ValidationExpression="^(([a-zA-Z]:)|(\\{2}\w+)\$?)(\\(\w[\w].*))(.xls|.XLS|.pdf|.PDF|.doc|.DOC)$" ControlToValidate="FileUpload1"> </asp:RegularExpressionValidator>
在添加RegularExpressionValidator
之前,可以上传任何文件类型。
添加后,仍可以上传任何文件类型。
谁能告诉我我错过了什么?
答案 0 :(得分:1)
尝试使用此逻辑
^.*\.(jpg|JPG|gif|GIF|doc|DOC|pdf|PDF)$
您正在使用dot
和dot is a special character
。
有tool用于检查您的Regular Expression
。
您也可以添加其他文件Extension
。
试试这个
^([a-zA-Z].*|[1-9].*)\.(((p|P)(d|D)(f|F))|((d|D)(o|O)(c|C)))$
代码背后
为此,您需要Button
并且在其OnClick
事件上,您必须首先检查extension1
文件
if (FileUpload1.HasFile)
{
// Get the name of the file to upload.
string fileName = Server.HtmlEncode(FileUpload1.FileName);
// Get the extension of the uploaded file.
string extension = System.IO.Path.GetExtension(fileName);
// Allow only files with .doc or .xls or .pdf extensions
// to be uploaded.
if ((extension == ".pdf") || (extension == ".xls") || (extension == ".doc"))
{
//upload accordingly
}
else
{
// Show message
}
}
希望它有效
答案 1 :(得分:0)
尝试其中任何一种。
<asp:RegularExpressionValidator ID="RegularExpressionValidator1" runat="server"
ErrorMessage="Only JPG/jpg file allowed!"
ControlToValidate="ctlFileUpload"
ValidationExpression="^(([a-zA-Z]:)|(\\{2}\w+)\$?)(\\(\w[\w](.)*))+(\.jpg|\.JPG)$"
Width="510px" CssClass="Validator"></asp:RegularExpressionValidator>
// -----或
<asp:RegularExpressionValidator ID="RegularExpressionValidator1" runat="server"
ErrorMessage="Only JPG/jpg file allowed!"
ControlToValidate="ctlFileUpload"
ValidationExpression="^(([a-zA-Z]:)|(\\{2}\w+)\$?)(\\(\w[\w].*))+(.jpg|.JPG)$"
Width="510px" CssClass="Validator"></asp:RegularExpressionValidator>
// -------或
<asp:RegularExpressionValidator ID="imgValidator" runat="server" ControlToValidate="imgUpload"
ErrorMessage="*JPG/JPEG/GIF files only" ValidationExpression="^.+\.(([jJ][pP][eE]?[gG])|([gG][iI][fF]))$" />
或尝试此操作以允许用户上传txt文件
<asp:RegularExpressionValidator ID="FileUpLoadValidator" runat="server" ErrorMessage="Only text files!"
ValidationExpression=".*(\.txt|\.TXT)$" ControlToValidate="FileUpload1" Display="None">