过滤文件格式

时间:2013-09-17 10:33:29

标签: asp.net file-upload ext.net filefilter

我在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>

this output

我不想看到所有文件。我想看* .tab,* .map格式。

我怎样才能成功?

2 个答案:

答案 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>