javascript - 从 webkitdirectory 元素获取绝对路径

标签 javascript jquery html css google-chrome

我正忙于构建一个从我的本地文件系统中提取的小型画廊。我有一个获取目录的元素:

    <input type="file" webkitdirectory>

然后我在容器中的页面上显示该目录中的所有图像和视频。

目前出于安全原因,我只能访问相对路径,所以我必须添加一个硬编码的 e:/downloads 以便它在我显示文件时找到它们,因为文件的位置在我的桌面上。

我想扩展它以便我可以从我的本地文件系统上的任何地方选择一个目录,但我需要绝对路径。目前只有 IE 获取绝对路径,chrome 返回一个假路径。我知道如何进行设置以允许将本地文件系统文件包含在 IE 中,但我不知道如何在 Chrome 中启用它。我想知道在 IE 中是否有允许这样做的选项。

我四处搜索了一下,大多数人都说这是不可能的,但我相信某处一定有设置,我希望有人知道。

如果你想看看,这是我的代码,只是为了好玩: https://jsfiddle.net/3mp1znx9/

请注意,因为它被硬编码到 e:/downloads,您可能需要更改它以使其适合您。

如果您想查看它试图返回的绝对路径,您可以打开控制台并运行名为 GetDirectory 的函数。 (你也应该注释掉元素发生变化后的删除)

我希望我的问题很清楚,不要太长。谢谢。

总结:
我想从 Chrome 中的元素访问本地文件的绝对路径。我已经可以在 IE 中完成了。

最佳答案

我终于找到了解决我自己问题的方法。使用 Chrome 几乎不可能获得绝对路径,它只适用于 Internet Explorer。

所以解决方案是使用临时路径。

URL.createObjectURL(e.target.files[0])

这是需要的,然后我将其用作 src。我希望这对有一天偶然发现这一点的其他人有所帮助。

关于javascript - 从 webkitdirectory 元素获取绝对路径,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30959856/

相关文章:

javascript - 使用 Ramda 统一有关对象的信息

Firefox 无法理解 JavaScript 代码,但可以在所有其他浏览器中使用

jquery - 如何确定由谷歌发布商标签呈现的广告

javascript - 地理定位 API 不适用于移动设备

javascript - 在表 D3 中的导入数据中放置链接

javascript - 点击事件监听器没有反应

javascript - 禁用输入组插件

javascript - jQuery - 获取宽度> 0的最后一个div

html - 如何让 div 覆盖网页的整个宽度,而不仅仅是视口(viewport)?

Javascript 错误仅在 uglify mangle 为 false 时发生