使用asp:FileUpload Control
,Allow 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完成此操作。
答案 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);