如何按文件类型过滤

时间:2014-04-16 11:57:39

标签: asp.net vb.net file-upload

所以我有一个FileUpload控件如何只对excel文件进​​行过滤?现在它有选项All Files(),我只需要(.xls)和(.xlsx)

<asp:FileUpload ID="FileUpload1" runat="server" />

1 个答案:

答案 0 :(得分:1)

请参阅:http://www.codeproject.com/Tips/700593/FileUpload-Filter-File-Type-File-Extension-File-Si

<script src="jquery-1.9.1.min.js" type="text/javascript"></script>
<script type="text/javascript">
    $(document).ready(function () {
         var validFilesTypes = ["bmp", "gif", "png", "jpg", 
         "jpeg", "doc", "docx", "xls", "xlsx", 
         "htm", "html", "rar", "zip", "txt", "pdf"];
        $('.s').change(function () {
            CheckExtension(this);

            validateFileSize(this);

        });
        function CheckExtension(e) {
            /*global document: false */


            var file = e;
            var path = file.value;

            var ext = path.substring(path.lastIndexOf(".") + 1, path.length).toLowerCase();
            var isValidFile = false;
            for (var i = 0; i < validFilesTypes.length; i++) {
                if (ext == validFilesTypes[i]) {
                    isValidFile = true;
                    break;
                }
            }
            if (!isValidFile) {
                e.value = null;
                alert("Invalid File. Unknown Extension Of Tender Doc" + 
                "Valid extensions are:\n\n" + validFilesTypes.join(", ")); 
            }
            return isValidFile;
        }

        function validateFileSize(e) {
            /*global document: false */
            var file = e;
            var fileSize = file.files[0].size;
            var isValidFile = false;
            if (fileSize !== 0 && fileSize <= 25214400) {
                isValidFile = true;
            }
            if (!isValidFile) {
                e.value = null;
                alert("File Size Should be Greater than 0 and less than 25 mb");
            }
            return isValidFile;
        }
    });

</script>

并将其称为:

<asp:fileupload id="FileUpload1" CssClass="s" runat="server"></asp:fileupload>

或将其添加到代码后面:

FileUpload1.CssClass = "s";