我在asp.net中使用标签。 我想使用文件过滤。(仅.tab和.map文件格式)(在选择期间)
我的asp.net代码:
<ext:FileUploadField ID="BasicField" runat="server" Width="400" Icon="Attach" Text="Örnek Dosya">
<DirectEvents>
<Change OnEvent="DosyaSec" IsUpload="true"></Change>
</DirectEvents>
</ext:FileUploadField>
我不想看到所有文件。我想看* .tab,* .map格式。
我怎样才能成功?
答案 0 :(得分:1)
您无法直接在对话框中过滤文件扩展名。为此,您必须使用文件格式验证,然后您可以使用ASP.NET的正则表达式或自定义验证。 以下是Regex的示例:
<ext:FileUploadField ID="BasicField" runat="server" Width="400" Icon="Attach" Text="Örnek Dosya"></ext:FileUploadField>
<asp:RegularExpressionValidator ID="RegularExpressionValidator1" runat="server" ErrorMessage="Only .tab or .map files are allowed."
ValidationExpression="^(([a-zA-Z]:)|(\\{2}\w+)\$?)(\\(\w[\w].*))+(.tab|.map)$"
ControlToValidate="BasicField">*</asp:RegularExpressionValidator>
以上代码可帮助您根据需要检查文件格式。
答案 1 :(得分:1)
您可以像这样验证文件扩展名
<script>
var hash = { '.png' : 0, '.jpg' : 1, }; var check_extension = function (filename) { var re = /\..+$/; var ext = filename.match(re); if (hash[ext]) { alert("valid"); return true; } else { alert("Invalid filename, please select another file"); return false; } }
</script>
<ext:FileUploadField ID="FileUploadField1"
runat="server" FieldLabel="Photo" ButtonText="" Icon="ImageAdd">
<Listeners>
<FileSelected Handler="check_extension(this.value);" />
</Listeners>
</ext:FileUploadField>