多文件上传时如何限制总文件数量?

一丹丹 阅读 4

我用 做多文件上传,但想限制用户最多只能选5个文件,试了在 change 事件里判断 files.length,可一旦选超了就直接没反应,用户也不知道为啥。

有没有办法在用户选择后自动截断到前5个,或者弹个提示?现在代码是这样:

document.getElementById('fileInput').addEventListener('change', (e) => {
  if (e.target.files.length > 5) {
    alert('最多只能上传5个文件!');
    // 这里怎么清空或截断?直接 e.target.value = '' 会丢失所有文件
  }
});
我来解答 赞 3 收藏
二维码
手机扫码查看
1 条解答
极客亚捷
清空输入框就行,用户下次重选。代码:

document.getElementById('fileInput').addEventListener('change', (e) => {
if (e.target.files.length > 5) {
alert('最多5个文件');
e.target.value = ''; // 清空让用户重选
}
});


想保留前5个的话用 slice:

const files = Array.from(e.target.files).slice(0, 5);
// 然后用这个files数组处理上传
点赞
2026-03-07 23:00