【发布时间】:2015-07-19 06:20:52
【问题描述】:
我正忙于构建一个从本地文件系统中提取的小型画廊。我有一个获取目录的元素:
<input type="file" webkitdirectory>
然后我在容器中的页面上显示该目录中的所有图像和视频。
目前出于安全原因,我只能访问相对路径,因此我必须添加硬编码的 e:/downloads 以便在显示文件时找到文件,因为文件的位置在我的桌面上。
我想扩展它,以便可以从本地文件系统的任何位置选择一个目录,但我需要绝对路径。目前只有 IE 让我得到绝对路径,chrome 返回一个假路径。我知道如何设置以允许将本地文件系统文件包含在 IE 中,但我不知道如何在 Chrome 中启用它。我想知道在 IE 中是否有允许这样做的选项。
我已经搜索过,大多数人都说不可能,但是我相信某个地方一定有一个设置,我希望有人知道。
如果您想看一下,这是我的代码,仅供参考: https://jsfiddle.net/3mp1znx9/
请注意,因为它被硬编码为 e:/downloads,您可能需要更改它以使其适合您。
如果您想查看它尝试返回的绝对路径,您可以打开控制台并运行名为 GetDirectory 的函数。 (您还应该在元素更改后注释掉元素的删除)
我希望我的问题很清楚,而且不会太长。谢谢。
总结:
我想从 Chrome 中的元素访问本地文件的绝对路径。我已经可以在 IE 中完成了。
【问题讨论】:
-
由于安全限制,这不起作用。但是,您应该查看 HTML5 文件 API(只需将其输入 google)。
-
感谢您的评论和信息。但是,如果我理解正确,它仅适用于正在上传的文件。我没有上传任何文件,我只是在阅读目录中的所有内容。
-
文件不会上传,只是加载到本地内存中。
-
谢谢,我想我搞定了。但这意味着我必须选择所有要显示的文件,这意味着它不会获得所有子目录。不过还是谢谢。我想如果我没有收到任何其他回复,我会坚持使用 IE ......这很可悲......但是哦,好吧。
标签: javascript jquery html css google-chrome