虽然知道这是一个历史问题:最大路径长度限制。
修改了注册表和组策略,貌似没有太大作用。
放一张代码片段,大家帮忙看一下
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))
}
这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。
V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。
V2EX is a community of developers, designers and creative people.