我手头有一个大项目。
它是基于图像和画廊。
在这个网站上有三种不同大小的图片。原始大小,缩略图大小,小尺寸
我有一个专门的服务器用于这个项目,所以间距不是我主要关心的问题,尽管我应该关注它,而且对于逻辑问题没有限制。
我的问题:发布到网站上时,哪种方法更适合保存图像?
-
在发布时将所有三种尺寸保存在三个不同的文件中
-
或者在加载到页面时动态调整它们的大小,这意味着只保留原始图像
优先级:
- 质量
- 性能
- 存储
如果我是你,我不会动态生成(尤其是对于访问者查看的长图像列表,性能可能会下降,这取决于你处理它的方式)。也取决于原始大小有多大。无论如何,我都会选择"生成一次"策略,并在客户端缓存它。通过这种方式,您还可以在调整大小时提高图像的质量,并且不必太担心服务器的影响(可能会遇到真正的问题,这取决于规格和同时访问、上行链路等)
只是我的2c。
您将质量列为最高优先级,存储则列为最低优先级。在这种情况下,我会以最高可能/可接受的分辨率存储图像,并动态调整它们的大小,可能使用缓存机制总的来说,请注意缓存也将由浏览器本身执行。
编辑:这似乎是SO的头像图片(而不是gravatar)的服务方式(图像尺寸在获取图像的请求中传递,请尝试更改它们)。
此外,在项目的这个阶段,实现这两种方法并根据预期负载对它们进行基准测试应该不难。然而,如果缓存没有帮助,我仍然会从动态生成的图像开始,并在稍后阶段预先计算不同的分辨率。