0

众所周知<input/>,出于安全原因,浏览器不支持在页面重新加载时重新填充文件路径。但最近chrome 86发布了File System Access API,它简化并允许用户读取文件的上下文。如果我们将它与File System API配对(不要混淆它们),在window.requestFileSystem的帮助下,我们可以在加载之间持久化文件,这部分解决了这个记住和重新填充文件输入堆栈溢出问题。

我想知道我们是否可以在选项卡重新加载时使用 FileSystemFileHandle 重新填充文件。通过 requestFileSystem 执行此操作会限制我们的文件大小,因为我们会在每个选择上复制文件。具体来说,我希望能够在重新加载页面后上传和读取用户选择的文件,而无需将其保存到 localFileSystem。

我还将这个问题发布到github issues

4

1 回答 1

0

GitHub问题有一个答案,在这里稍作编辑重新发布以节省其他人的点击:

您可以将获得的文件句柄存储showOpenFilePicker在 IndexedDB 中,并在后续页面加载时将其读回。一般来说,重新获得访问权限可能需要用户接受另一个权限提示,但对于页面重新加载的情况,当前的 Chrome 实现可能会将权限授予保持足够长的时间,从而不需要额外的提示。我们也有一些想法可以将其扩展到会话恢复,但目前还没有具体的内容。

于 2020-12-16T15:13:19.403 回答