从客户端上的FileUpload控件获取所有文件名

时间:2018-07-16 15:33:25

标签: javascript asp.net google-chrome

使用asp:FileUpload ControlAllow Multiple = True。当我运行以下javascript脚本时:

<script type="text/javascript">
    $(document).ready(function () {
        $('#<%=fileUploader.ClientID%>').change(function () {
            debugger;
            $('#<%=lblFileNames.ClientID%>').text("Files: ");
            var path = $(this).val();
            var i;
            var files = path.split(',');
            var indFiles = "Files: ";
            for (i = 0; i < files.length; i++) {
                files[i] = files[i].substring(files[i].lastIndexOf('\\') + 1);
                indFiles = indFiles + i + ":" + files[i] + "; ";
            }
            $('#<%=lblFileNames.ClientID%>').text(indFiles);
        })
    })
</script>
IE / Mozilla上的

var path = $(this).val()返回我选择的所有定界文件,而chrome上仅返回第一个选定的文件。

问题

1)为什么Chrome会这样做,而不是IE / Mozilla浏览器中的行为。

2)客户端是否可以解决此问题?我知道服务器端的“解决方案”,但出于我的目的,我需要通过客户端的javascript完成此操作。

1 个答案:

答案 0 :(得分:1)

您可以使用this.files

中提供的文件列表
        var files = [];
        var indFiles = "Files: ";
        for (i = 0; i < this.files.length; i++) {
            files[i] = this.files[i].name;                
            indFiles = indFiles + i + ":" + files[i] + "; ";
        }
        $('#<%=lblFileNames.ClientID%>').text(indFiles);