【发布时间】:2019-12-09 01:22:52
【问题描述】:
我有一个文件上传应用程序,一旦选择了一个文件,就会出现一个状态,说明文件的名称。我遇到的问题是调整上传多个文件的情况。
最初会给出一个计数 - 如果您上传三个文件,则会出现“3”。我正在尝试调整它以显示三个文件名。我使用获取单个文件名的代码来显示 fileName = e.target.value.split('\').pop();并尝试将其添加到条件不止一个:
if (this.files && this.files.length > 1) {
//fileName = (this.getAttribute('data-multiple-caption') || '').replace('{count}', this.files.length);
fileName = e.target.value.split('\\').pop();
console.log('Here is it ' + fileName);
}
我得到的是输出的单个文件名。我不知道如何获取要输出的数组中的文件名列表。
有人看到我需要调整什么吗?
HTML
<input type="file" name="uploadedFile" class="inputfile" id="uploadedFileTest" data-multiple-caption="{count} files selected" multiple>
<label for="uploadedFileTest" id="uploadFileTest"><img class="total-center" src=""></label>
<p id="fileStatus"></p>
<p id="fileName"></p>
JS
var inputs = document.querySelectorAll('.inputfile');
Array.prototype.forEach.call(inputs, function (input) {
var label = input.nextElementSibling,
labelVal = label.innerHTML;
if (this.files && this.files.length > 1) {
//fileName = (this.getAttribute('data-multiple-caption') || '').replace('{count}', this.files.length);
fileName = e.target.value.split('\\').pop();
console.log('Here is it ' + fileName);
} else {
fileName = e.target.value.split('\\').pop();
console.log("I am running");
}
if (fileName) {
$('#fileName').html(fileName);
$('#fileStatus').text('File attached!');
} else {
label.innerHTML = labelVal;
}
});
});
【问题讨论】:
标签: javascript jquery arrays file