编程语言
首页 > 编程语言> > Javascript FileAPI:迭代目录?

Javascript FileAPI:迭代目录?

作者:互联网

Firefox 3.6让你将一个目录放到一个元素上(使用拖放API)并使用FileAPI处理这些文件.这对目录有什么作用?

Mac OS X Finder将一些目录显示为Files(.app,.tmbundle,.abbu,…).在大多数情况下,这很棒.在通过File-和DND-API与浏览器交互的情况下,它不是.最终用户无法区分真实文件和my-addressbook-backup.abbu之类的文件.

因此,Javascript UI必须能够识别目录结构.如果它无法遍历结构,则必须相应地通知用户.

关于如何实现的任何想法?

编辑:

我可以看到允许JS遍历目录时出现的(潜在)问题.我本身并没有要求进行目录遍历(虽然我不会绑定能够).我在谈论Foo.app被视为一个文件(用户通过Finder.app看到),但实际上是一个目录(就像在Terminal.app中看到它一样).

File API目前不提供任何遍历机制.因此,无法访问addressbook-dump.abbu中更深层次的嵌套文件.有没有想过让这成为可能?

否则,我必须告诉我的OSX用户对他们的地址簿文件进行存档(例如ZIP)并“上传”该zip文件(我实际上可以在JS中阅读).虽然这是一种解决方法,但不是解决方案.

解决方法:

从理论上讲,您所描述的内容对FileReader API是可行的.例如,
this demo读取.zip文件(点击加载photos.zip),解压缩其内容,然后
显示它包含给用户的图片列表.

对于常规文件夹拖放,有两个错误持有Chrome / WebKit:1,2.当那些得到修复时,您将能够将操作系统中的文件夹拖到< input type =“file”webkitdirectory>并遍历其所有层次结构.要查看运行中的webkitdirectory,请查看Chrome中的this demo.

标签:javascript,drag-and-drop,fileapi
来源: https://codeday.me/bug/20191008/1873102.html