动态调整图像大小,或在磁盘上存储不同的大小?

Yng*_*sen 6 performance image image-resizing web

我正在构建一个最终将包含大量图像的Web应用程序.这些图像需要在整个站点以不同的格式显示.这两种解决方案的优缺点是什么:

  1. 在上传图片时存储各种版本的图片(例如Thumb,small,medium,large,verylarge)
  2. 通过URL调整图像大小 - 例如/ Content/Image/1?height = 300

你怎么看?

编辑: 我很难接受另一个答案,所以对于读这个q/a的人来说,花点时间阅读这两个答案,因为接受的答案是通过硬币的选择来选择的:)他们都是平等的好.

Ell*_*eny 3

不可避免地,任何基于参数提供动态大小的东西都将允许最终用户在服务器上引起合理的(可能“比平常更多”)的 CPU 活动量,这对您来说可能是一个问题,具体取决于您正在尝试的内容实现。正如奥利弗所建议的,缓存生成的图像将有助于避免重复执行相同的工作,并且绝对应该成为任何动态解决方案的一部分。

我认为您需要考虑动态调整大小的重要性。在每种情况下,我处理过的预定义尺寸(你的拇指,小,中,大,非常大)都工作得很好。同样的缓存注意事项也适用,但创建大量图像的可能性要小得多。我倾向于在上传图像时创建各种图像尺寸,但是如果尚未创建则按需创建解决方案同样可以很好地工作。