html5 文件 api,在 sessionStorage 中存储用户选择的目录?

html5 file api, storing user selected directory in sessionStorage?

我想制作一个应用程序,用户可以在其中 select 自己计算机上的一个目录,并且我可以跨页面 refreshes/etc 引用该目录中的图像。比如用户selects一个目录,或者只是多个图片文件,然后每次刷新页面时,从selected目录中随机显示一张图片。我不希望将图像上传到我的服务器,而是允许用户通过 select 在逐个会话的基础上显示哪些图像来自定义体验。我知道这听起来像是一个非常晦涩的场景,但至少有一个我认识的人会真正欣赏这一功能。

有什么方法可以通过 HTML5 文件 api 实现这一点?

我目前正在使用:

$imagesDir = 'random/';
$images = glob($imagesDir . '*.{jpg,jpeg,png,gif}', GLOB_BRACE);
$randomImage = $images[array_rand($images)];

在每次页面刷新时从我服务器上的目录提供随机图像。我希望用户能够用他们 select 在他们自己的计算机上的目录替换此目录。

从用户计算机上的普通(用户 selected)目录中抓取它们是不可能的(有关更深入的信息,请参阅 this answer)。
基本上你不能 serialize/store user-selected 目录,你也没有目录索引方法(对于本地文件),所以用户仍然必须 select 每个文件(他们想分享到您的网络应用程序)分别。同样,您不能存储对这些文件的引用(会话之外)。

但是您可以让他们(用户)从他们的计算机中获取 select 文件(图像),然后 'upload' 将它们放入浏览器的本地存储区域(技术上仍在用户的计算机上)。