[置顶] 压缩图片并根据图片md5 存储的一种优化解决方案
2017-07-11 16:20
309 查看
后端我们在处理图片文件的时候,很多都需要对一些图片进行压缩。然后再保存。同时我们保存图片为了保证一张图片仅存储一次。我们都需要根据文件的md5 来存储。
这里我们理下思路:
这种思路是我们大部分都这样处理就行了。
因为一些业务让我对这种处理方式产生了质疑。这样会对图片质量大大的降低。
假如我们因为业务我们可能在处理时候会处理B图片呢。那么按照上面的思路
但是我仔细想一想 如果有B图片这种情况发生那么,我们就没有办法避免C再次流入B 这样的流程。再说一张图片经过B 图片这里多次后 图片的质量将大大的损失。这样的结果在某些业务情况下我们肯定不能避免但是又不想发生
最终我想出一种解决方案:
这样的处理流程就算A 图片和B图片在系统中处理多上次那么 最终都是一样的结果。
完美的解决!
如果对此方案有什么建议和好的想法欢迎提出(下方评论)或者QQ:1593503371
这里我们理下思路:
获取图片文件 压缩图片文件 获取压缩后的图片文件md5 然后根据md5 进行自有的业务逻辑处理(一般就是如果存在就不再处理了)
这种思路是我们大部分都这样处理就行了。
因为一些业务让我对这种处理方式产生了质疑。这样会对图片质量大大的降低。
A图片 第一次处理 A处理为B后 我们对A 图片最终保存的文件为B 第二次出现A 图片时候 我们依然这样处理同样结果得到B
假如我们因为业务我们可能在处理时候会处理B图片呢。那么按照上面的思路
B图片 第一次处理 B处理为C后 我们对B 图片最终保存的文件为C 第二次出现B 图片时候 我们依然这样处理同样结果得到C
但是我仔细想一想 如果有B图片这种情况发生那么,我们就没有办法避免C再次流入B 这样的流程。再说一张图片经过B 图片这里多次后 图片的质量将大大的损失。这样的结果在某些业务情况下我们肯定不能避免但是又不想发生
最终我想出一种解决方案:
A 图片第一次处理 判断我们图片库中是否存在一个A 图片的md5 如果存在则结束处理 如果不存在我们进行压缩 获得图片B 然后我们判断图片B 的Md5 是否存在 如果存在则结束处理 不存在我们对B 图片进行存储
这样的处理流程就算A 图片和B图片在系统中处理多上次那么 最终都是一样的结果。
完美的解决!
如果对此方案有什么建议和好的想法欢迎提出(下方评论)或者QQ:1593503371
相关文章推荐
- 系统中图片存储的解决方案——将图片放在服务器上,将其路径存入数据库
- 如何把存储在数据库中的图片根据自己的需要的大小显示出来。【转】
- 对网站的图片进行压缩优化
- 压缩存储图片
- 4个Web图片在线压缩优化工具
- RLE压缩及优化--图片压缩
- 淘宝模板得针对ie6做优化 鼠标上来图片不变化 解决方案 a:hover
- 12 款图片快速优化和压缩工具
- 一种上传图片立即回显的解决方案
- nginx图片服务器优化 解决流量和存储问题
- 分布式图片上传存储浏览解决方案(ToolKit Framework Web开发框架示例项目)
- 图片压缩后,依然很大的解决方案
- 图片压缩优化能有效提高网站浏览速度
- RLE压缩及优化--图片压缩
- 。net 根据高宽比例压缩图片,并给简单的文字水印……
- Base64--在XML中存储图片的解决方案
- Base64--在XML中存储图片的解决方案
- 图片压缩后,依然很大的解决方案
- 【前端优化】你想不到的压缩方法:将javascript文件压缩成PNG图像存储
- 一种高效压缩PNG图片的工具