input 选取文件夹及多个文件 识别内部文件

本文介绍了如何使用input元素选取文件夹及其内部文件,详细讨论了change事件以及fileList对象。虽然e.target.files中以数组形式存储,但无法直接体现目录结构。通过webkitRelativePath属性,可以获取内部文件的相对路径,实现对文件夹结构的识别。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

input 选取文件夹

  • input 文件的选取
    <input type="file" class="upfile" multiple="multiple"  /> 可以选取多个文件
    <input type="file" class="upfile" webkitdirectory /> 可以选择一个文件夹
  • 拾取内部文件
    change 事件
 $fileInput.off().one('change', function (e) {
            var  files=e.target.files;
            [].forEach.call(files,function (item){
                if(item) {
                   uploading(item); //上传文件夹
                }
            },false/true);
            this.value='';
        });
        $fileInput.click();
  • 内部 fileList
    在 e.target.files 中 但其中列表 数组形式 ,并不能识别目录结构

  • 强大的webkitRelativePath

    内部文件的路径


 function uploading(file){
      if(/^\..*/.test(file.name))return // 隐藏文件 取消
        var arrpaths= file.webkitRelativePath.split('/');
        arrpaths.pop(file.webkitRelativePath);    
}
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值