【问题标题】:Filtering file format过滤文件格式
【发布时间】:2013-09-17 10:33:29
【问题描述】:
我在 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 格式。
我怎样才能成功?
【问题讨论】:
标签:
asp.net
file-upload
ext.net
filefilter
【解决方案1】:
您不能在对话框中直接过滤文件扩展名。为此,您必须使用文件格式验证,然后您可以使用正则表达式或 ASP.NET 的自定义验证。
以下是正则表达式的示例:
<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>
以上代码可帮助您根据需要检查文件格式。
【解决方案2】:
您可以像这样验证文件扩展名
<script>
变量哈希 = {
'.png' : 0,
'.jpg' : 1,
};
var check_extension = 函数(文件名){
var re = /\..+$/;
var ext = filename.match(re);
如果(哈希[ext]){
警报(“有效”);
返回真;
} 别的 {
alert("文件名无效,请另选文件");
返回假;
}
}
</script>
<ext:FileUploadField ID="FileUploadField1"
runat="server" FieldLabel="Photo" ButtonText="" Icon="ImageAdd">
<Listeners>
<FileSelected Handler="check_extension(this.value);" />
</Listeners>
</ext:FileUploadField>