+-
现在有这一个需求,通过文件夹上传文件,主要是通过input的file的onchange回调函数,拿到e.target.files然后进行遍历文件信息,但是同级目录的文件和非同级目录下的文件都在fileList下了,怎么拿到识别目录的最优解
方案一:这个需求做不了...
方案二:
使用File
对象的webkitRelativePath
(兼容性差)
https://developer.mozilla.org/zh-CN/docs/Web/API/File/webkitRelativePath
const files = [
{
webkitRelativePath:"1/1/1.jpg",
},
{
webkitRelativePath:"1/2/1.jpg",
},
{
webkitRelativePath:"1/3/1.jpg",
},
{
webkitRelativePath:"1/4/1.jpg",
},
{
webkitRelativePath:"1/1/2.jpg",
},
{
webkitRelativePath:"1/2/2.jpg",
},
{
webkitRelativePath:"1/3/2.jpg",
},
]
let res = {}
for(let i = 0; i<files.length;i++){
const dirs = files[i].webkitRelativePath.split("/")
dirs.pop()
const key = dirs.join('/')
res[key] = res[key]? [...res[key],files[i]]:[files[i]]
}
console.log(res)