加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程开发 > Java > 正文

java – 上传不同的图像尺寸或单个尺寸以便稍后处理?

发布时间:2020-12-15 08:44:25 所属栏目:Java 来源:网络整理
导读:我的网站允许用户上传个人资料图片,然后在网站周围以几种(约3或4种)不同的尺寸表示. 随着网站的增长,总是有可能需要调整图像大小,或者稍后需要新的图像大小. 像Facebook或Twitter这样的网站如何处理这个问题?他们是在上传时将图像处理成不同尺寸,还是存储更
我的网站允许用户上传个人资料图片,然后在网站周围以几种(约3或4种)不同的尺寸表示.

随着网站的增长,总是有可能需要调整图像大小,或者稍后需要新的图像大小.

像Facebook或Twitter这样的网站如何处理这个问题?他们是在上传时将图像处理成不同尺寸,还是存储更高质量的图像并在需要时处理服务器端?

有没有一种常见的方法来处理这个问题?

解决方法

不同大小的图像很可能在某处缓存,而不是每次在访问时处理.上传时,您将创建所需的所有尺寸并存储它们(在文件或数据库中).此方法使用最多磁盘空间来存储所有图像大小,但在上载时放置所有处理负载,以便以后更快地访问.

或者,如果预计负载不重,您可以在访问这些尺寸的第一时间创建不同的尺寸,然后将其存储以备将来使用.因此,该方法仅通过创建实际使用的图像来使用较少的磁盘空间,但是在第一次使用图像大小时将禁止访问时间.未来的访问时间会很快,访问缓存的图像.

更大负荷的附录

考虑在单独的工作服务器上执行图像处理.理想情况下,前端和工作服务器将共享上载和存储图像的存储装载,从而节省它们之间的传输带宽.在上载原件时,主应用程序将图像放在队列中以供工作人员处理.在处理之前,图像无法使用,但处理负载仍然独立于前端,因此它对最终用户体验没有太大的直接影响.

根据您每分钟预期的上传次数,工作进程可以像每分钟运行的cron作业一样简单,以轮询待处理的上载任务表(由主应用程序注册),执行转换,并在更新表时他们已经完成了.但是,如果一分钟太长而无法等待,则需要一个连续运行的工作进程来轮询新任务.显然,实施起来更复杂.

无论您做什么,每次需要时都不要重新生成替代图像尺寸.将它们存放在某处.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读