虽然知道这是一个历史问题:最大路径长度限制。
修改了注册表和组策略,貌似没有太大作用。
放一张代码片段,大家帮忙看一下
if (entry.isDirectory) {
const dirReader = entry.createReader()
let entries: any[] = []
// 由于浏览器 API 限制每次只能读取 100 个文件,所以需要多次读取
while (true) {
const batch: any = await new Promise((resolve) =>
dirReader.readEntries(resolve)
)
entries = entries.concat(batch)
if (batch.length !== 100) {
break
}
}
..........
// 将文件添加到上传列表
const file = await new Promise<File>((resolve) => {
// console.log('<UNK>:', entry)
entry.file(resolve) //// 超长的路径到这就读取不到了,也不报错。
}).catch((err) => {
console.error('获取文件失败:', err)
throw err
})
uploadMap.set(uploadKey, createUploadItem(file, currentPath))
}