是否可以从浏览器获取本地文件系统中文件夹的访问权限

问题描述 投票:0回答:2

我想做一个本地文件编辑器。要打开某些文件,请对其进行编辑并将其保存回来。如果它只能在 Chrome 中运行,那就没问题了。使用

<input type="file" id="filepicker" name="fileList" webkitdirectory multiple />

我可以读取所有文件并绘制文件树,但我还希望能够编辑并保存到这些文件。甚至创建新文件和文件夹。

有什么办法可以做到吗?如果 HTML5 不提供任何解决方案,我也可以接受使用 Java 或 Flash 的黑客攻击或任何其他黑客攻击。

谢谢

javascript html5-filesystem
2个回答
1
投票

我不相信你的建议是可能的;但是,有一种不同的方法可以解决您的问题。

如果您以 Microsoft 的 Online Word 为例...他们进行了设置,以便您将文档保存到云端,然后可以使用 Microsoft Word 的在线副本进行编辑。

换句话说,用户将上传一个文件。然后,您的服务器将获取该文件,显示它并允许用户编辑该文件。然后,用户将保存对文件的更改。然后,您可以提供重新下载文件的选项。

为了更接近地模拟在本地文件系统上编辑文件,您还可以在服务器上设置“临时”保存。

本质上,用户上传一个文件。服务器将允许用户查看和编辑文件。当用户希望保存它时,不要将文件保存在服务器上,而是将其作为下载返回给用户。

用户离开您的网站后,您可以删除服务器上保存的文件副本。


0
投票

这个问题的答案已经改变,因为网络标准中添加了更多功能。

在现代,可以使用 WebAPI 文件系统 API 来完成您所需要的操作。特别是,您可以使用

window.showOpenFilePicker()
打开浏览器文件系统 UI 以访问文件(由(承诺)
FileSystemFileHandle
对象表示。同样,您可以使用
window.showSaveFilePicker()
来保存数据到本地文件。

请记住,某些 API 功能是通过用户激活来控制的,这意味着,例如,您只能通过单击按钮运行 Js 函数来打开访问文件的请求。

© www.soinside.com 2019 - 2024. All rights reserved.