我目前在我的 Web 根目录之外存储了许多文档预览图像 (jpg/tif)。它们有 100 多个,因此有效地进行这项工作很重要。它们存储在 Web 根目录之外的原因是它们包含只有特定用户/用户组可以查看的数据(但每个用户可以拥有 100 多个他们可以查看的文档)。
我当前的实现是,当用户选择“查看图像”时,会触发一个 ajax 调用,这会将相关图像移动到 Web 根目录中的特定文件夹。该位置被传回并用于向用户显示图像。单击下一个图像时,调用会删除所有现有图像并复制请求的图像。在会话注销/超时时,用户图像文件夹被清空。这有一些问题,但主要是:
- 文件不断被复制和删除
- 存在图像留在文件夹中的风险(注销脚本问题)
- 图像在文件夹中的整个时间都可以被其他用户查看(不太可能但可能)
有没有更好的方法来做到这一点?我试图将 BinaryReader 与 ajax 调用结合起来(因为我希望这会减少复制文件的需要),但看不到如何取回数据以供调用页面中的 JS 使用。
或者,是否有一种方法可以根据某些会话标准使选定的文件夹仅可供给定用户访问?(我无法想象有,但我认为值得一问。)
因此,如果有人对如何改进这一点有任何想法,那就太好了。这是使用 Jquery 的 ac# ASP.NET 应用程序。
编辑:图像使用 ajax 显示,这允许预加载,也意味着当他们选择下一张/上一张图像时不需要重新加载页面的其余部分。它几乎可以被认为是一种 javascript 图像交换器类型的情况,其中图像存储在 Web 根目录之外。
谢谢。