2013-05-07 58 views
1

我一直在网上寻找一种通过Javascript在浏览器内递归枚举目录内文件的方法。是否可以枚举浏览器中的文件?

查看File API我找不到任何东西。

有人能指点我一些其他API或告诉我,如果有可能做到这一点?

+0

谢谢你的评论!我希望,因为应用程序正在移动到浏览器,这种API将最终呈现出来,或者终于有了一种更便携的方式。 – 2013-05-07 16:06:23

+0

也有关:[从Firefox扩展的文件系统访问](http://stackoverflow.com/questions/2316708/file-system-access-from-firefox-extension)。 *此外*,除了用于浏览器扩展的文件系统API之外,Mozilla *还*为Firefox OS实施了[Device Storage API](https://developer.mozilla.org/en-US/docs/WebAPI/Device_Storage)。这正是你想要的('deviceStorage.enumerate'),但API仅适用于操作系统应用程序,而不是网页。 – apsillers 2013-05-07 16:19:04

+0

扩展机制是一个选项。但它必须在Chrome,Firefox,Opera和Safari上非常密切地工作(我不关心IE)。如果您可以指向其他可以在Chrome和Firefox上可靠运行的扩展程序,那就太棒了! – 2013-05-07 16:21:49

回答

2

Javascripts访问本地文件是非常有限的。您无法搜索或枚举文件,只能访问用户故意选择的特定文件。

然而,你可以做的是编写一个Java小程序(它可能必须签名才能获得必要的权限),它将为你列举并通过Javascript访问它。这当然限制了你安装Java的平台和用户,但这是你管理它的唯一方法。

+0

谢谢!猜猜我会检查另一个选项...也许某种独立的node.js服务器... – 2013-05-07 16:07:29

+0

Node.js不会帮助您阅读用户文件系统。你是否希望使用JavaScript来枚举服务器上的文件? – romo 2013-05-07 16:14:00

+0

我必须枚举客户端上的文件,而不是服务器上的文件。但是我有一些奇怪的要求,那就是允许我在同一台机器上实现和“安装”客户端和服务器。 – 2013-05-07 16:19:28

1

你不能这样做。 JavaScript无权访问文件系统。

+0

谢谢!这太糟糕了... – 2013-05-07 16:06:44

相关问题