我该如何存储我网站的图像?

Nav*_*ini 0 html image

将图像文件存储在数据库中的正确方法是什么.我正在使用文件路径来存储图像.

但问题出在这里.我必须为我的网站显示3个不同大小的一个图像.一个用作缩略图,第二个用于290px*240px,第三个用于全尺寸(约500px*500px).由于使用HTML img元素缩小图像不被认为是好的,那么它的解决方案应该是什么呢?

目前,我正在做的是为一件事存储3个不同尺寸的图像.有没有更好的方法?

Spu*_*ley 6

坦率地说,将图像存储在数据库中的正确方法不是将它们存储在数据库中。将它们存储在文件系统中,并将 DB 限制为路径。

归根结底,您谈论的是存储空间。这才是真正的问题。如果您以不同的分辨率存储同一文件的多个副本,则比仅存储文件的单个副本需要更多空间。

另一方面,如果您只保留文件的一个副本并动态扩展它,则不需要存储空间,但它确实需要更多的处理能力。

正如您在问题中已经说过的那样,每次发送全尺寸图像在带宽方面都是昂贵的。

所以这就是权衡。服务器上的存储空间与处理器工作与带宽成本。

一个简单的事实是,这三样东西中最便宜的是存储空间。因此,您应该在服务器上存储文件的多个副本。

这也是为您提供最佳性能的解决方案,这在许多方面比直接成本更重要。

在存储文件路径方面,我的建议是为缩放版本提供与原始文件相比具有标准前缀或后缀的可预测名称。这意味着您只需要在数据库上拥有单个文件名;您可以简单地为已请求的图像的相关版本添加前缀。


Ric*_*haw 5

存储同一图像的多个版本没有错.

理想情况下,您需要更多 - 视网膜屏幕的@ 2x.

您可以使用服务器端脚本动态生成较小的脚本,但根据流量级别,这可能是个坏主意.

你真的在交换存储空间和速度以获得更高的CPU和RAM使用率来动态生成它们 - 这取决于你的情况可能是一个很好的权衡,或者可能不是.