通常,文件服务器用于存储web应用程序的图像。为了更高的安全性和可控性,你可以选择在数据库中存储图像。但事实证明,这是复杂和缓慢的。
除了db/文件服务器之外,是否还有其他主流选项可用来使用用户权限安全地存储图像等。
编辑:我部署在amazon云上,使用postgresql作为数据库。
发布于 2009-11-11 17:26:46
SQL Server2008提供了the Filestream storage,它允许您将数据存储在文件系统中,然后通过数据库访问数据。如果您对使用数据库唯一关心的是性能,那么它可能会很有用。
发布于 2009-11-11 17:33:02
如果图像存储在没有直接web访问权限的文件夹中,则可以执行以下操作
<img src="getimage.aspx?id=1234">并让您的GetImage“页面”执行任何适当的权限测试(例如,使用会话ID),然后从安全文件夹中“传送”图像。
缺点是我认为图像没有被缓存?但我希望数据库路由也是如此。
将映像存储在物理数据库中会使数据库变得臃肿,从而增加备份和恢复时间;但是,如果您想要将所有内容都移动到新的/多个服务器,或者如果确保映像和数据库中其他数据之间的引用完整性非常重要,那么它提供的单个容器非常有用
发布于 2009-11-11 17:32:08
您是否担心人们猜测URL并直接访问图像?
如果是这样,您仍然可以将图像放在文件系统中,就在您的www目录之外。您创建一个名为ImageServer.php/.aspx/.jsp的页面,从文件系统中获取图像,然后响应URL提供它,如下所示:
ImageServer.php?image=BlueWhale.png如果执行此操作,请注意正确设置MIME类型和过期标头,因为Apache/IIS不会为您执行此操作。
https://stackoverflow.com/questions/1714044
复制相似问题