Javascript FileAPI:迭代目录?

2023-12-04

Firefox 3.6 允许您将目录拖放到某个元素上(使用拖放 API)并使用以下命令处理这些文件FileAPI。它如何与目录一起使用?

Mac OS X Finder 将某些目录显示为文件(.app、.tmbundle、.abbu 等)。在大多数情况下,这很棒。在通过 File- 和 DND-API 与浏览器交互的情况下,情况并非如此。最终用户无法区分真实文件和类似 my-addressbook-backup.abbu 的文件。

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

关于如何实现其中任何一个的想法?

Edit:

我可以看到允许 JS 遍历目录时出现的(潜在的)问题。我本身并不要求进行目录遍历(尽管我不要求能够这样做)。我说的是 Foo.app 被视为一个文件(如用户通过 Finder.app 看到的那样),但实际上是一个目录(如在 Terminal.app 中查看它时看到的那样)。

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

否则我必须告诉我的 OSX 用户将他们的地址簿文件存档(例如 ZIP)并“上传”该 zip(我实际上可以在 JS 中读取)。尽管这是一种解决方法,而不是解决方案。


从理论上讲,您所描述的内容是可行的FileReaderAPI。例如,这个演示读取 .zip 文件(点击加载 photos.zip),解压其内容,然后 向用户显示其中包含的图片列表。

对于一般文件夹拖放,Chrome/WebKit 有两个 bug:1, 2。当这些问题得到解决后,您将能够将文件夹从操作系统拖到<input type="file" webkitdirectory>并遍历其所有层次结构。查看webkitdirectory正在行动,请查看这个演示在 Chrome 中。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Javascript FileAPI:迭代目录? 的相关文章

随机推荐

  • 资源更改时静态绑定不会更新

    我首先想说我对绑定非常陌生 我已经在 WPF 中做了一些事情 但我从未使用过绑定 因为这个概念对我来说有点难以理解 即使我现在正在做的事情也是我从我不完全理解的教程中设法挽救的 在我的应用程序中 我有一个具有静态属性的静态类 并且有一个更改
  • 使用筛子后素数求和仍然很慢

    我尝试了下面的项目欧拉编码挑战 代码给出的答案是正确的 但我不明白为什么它需要近一分钟才能运行 在使用筛子之前 它的完成时间相似 其他用户报告的时间低至毫秒 我认为我在某个地方犯了一个基本错误 The sum of the primes b
  • mini-kanren cond-a cond-u 和 cond-e 有什么区别?

    我尝试在 clojure 中使用 mini kanren 的实现 但一直在努力理解 cond a cond u 和 cond e 之间的区别 我似乎对 cond e 很清楚 但对 cond a 和 cond u 的理解却很糟糕 cond e
  • Android Studio - 如何更改 Android SDK 路径

    当我打开时安卓SDK管理器 from 安卓工作室 显示的SDK路径为 android studio sdk 我想改变这条路 我该怎么做 从 Android Studio 1 0 1 开始 Go to 文件 gt 项目结构进入项目结构 左 g
  • 苹果拒绝应用程序,因为animationDidStop:finished:context:是一个非公共API

    Apple 拒绝了我的应用程序 因为 3 3 1 应用程序只能按照Apple规定的方式使用文档化的API 不得使用或调用任何私有API 应用程序最初必须是用 Objective C C C 或 由 iPhone OS WebKit 引擎执行
  • 有没有办法在浏览器中获取Pyqt5页面的XPATH?

    我正在使用 pyqt5 我希望用户单击嵌入在我的 pyqt5 应用程序中的浏览器来获取他 她单击的元素的 XPATH 知道它是如何完成的 或者是否可行 为了回答这个问题 我使用了以下答案 获取被点击的项目 https stackoverfl
  • 如果使用 jquery 验证发生验证错误,则将类添加到父 div

    我的输入字段有以下标记 div class required div
  • 如何动态更新Angular组件的样式

    我有一个简单的角度组件 Component selector app component test templateUrl component test component html styles example encapsulation
  • 为什么 AngularJS 控制器声明有这种语法结构?

    我一直看到以下 AngularJS 控制器语法结构 angular module 7minWorkout controller WorkoutController scope interval location function scope
  • Visual Studio 2015 社区安装失败

    我在尝试安装 Visual Studio 2015 时遇到问题 有一次 它甚至无法运行 iso 文件 我遵循以下提示 使用团队资源管理器安装 Visual Studio 2015 Enterprise Update 1 时出错 这给了我一段
  • 尽管有前缀,CSS 网格在 ie11 中不起作用

    我有以下使用 CSS 网格的简单布局示例 container width 100 display ms grid display grid ms grid columns 1fr auto 1fr grid template columns
  • 基于 php 中的键查找值的有效方法[重复]

    这个问题在这里已经有答案了 通过大约 100 000 个键 值对 都是字符串 每个大约 5 20 个字符 的列表 我正在寻找一种有效查找给定键的值的方法 这需要在 php 网站中完成 我熟悉 java 中的哈希表 如果在 java 中工作
  • 无法从 SwiftUI 框架中的资产目录访问图像

    我创建了一个包含单个 SwiftUI 的 iOS 框架View 然后我添加了带有单个图像的资产目录 尝试从 SwiftUI 视图访问该图像不会执行任何操作 我看到一张空白图像 Image MyImage Xcode 预览不显示任何内容 视图
  • 如何在 tkinter 主循环结束之前从顶层窗口获取更新的条目字符串? [复制]

    这个问题在这里已经有答案了 我会弹出一个顶层窗口并询问您的姓名 当您输入您的姓名并单击 确定 时 它应该将姓名放入entry1 value并自行关闭 然后 我打印该变量 同时保持空的 在这段代码中 主窗口运行 问题是它打印了 Empty S
  • Feign 重试是否需要某种配置?

    我只是尝试在测试设置中尝试无缝升级服务 Feign 客户端正在访问该服务 我天真地认为 在该服务有多个可用实例的情况下 如果客户端无法连接到一个实例 它将重试另一个实例 然而 这并没有发生 但我找不到任何关于 Spring Cloud 中的
  • SceneKit – 采用 DAE 文件格式的动画

    我正在尝试在 SceneKit 场景中为我的模型制作动画 创建一个简单的立方体模型并将其导出到cube dae 为立方体创建一个简单的骨架 并使用骨骼制作一个简单的旋转动画并将其导出到animation dae 使用Apple示例Fox演示
  • PHPUnit 错误“无法打开流:没有这样的文件或目录”

    我刚刚安装了 PHPUnit 测试 由于某种原因它不会读取我的文件 我确信它位于正确的路径中 但为什么 PHPUnit 找不到它 这是我的示例代码 函数 php 这是要测试的代码和文件 函数 test php
  • 如何在 QML 文件中调用 QObject 的指针?

    我正在为 Blackberry 10 开发一个应用程序 并且正在使用 Momentics IDE BB 原生 SDK 当我尝试执行下面的代码时 出现以下错误 任何人都知道我该如何解决这个问题 Error QMetaProperty read
  • 如何找到带有自定义注释@Foo的所有bean?

    我有这个弹簧配置 Lazy Configuration public class MyAppConfig Foo Bean public IFooService service1 return new SpecialFooServiceIm
  • Javascript FileAPI:迭代目录?

    Firefox 3 6 允许您将目录拖放到某个元素上 使用拖放 API 并使用以下命令处理这些文件FileAPI 它如何与目录一起使用 Mac OS X Finder 将某些目录显示为文件 app tmbundle abbu 等 在大多数情