关闭

[置顶] 压缩图片并根据图片md5 存储的一种优化解决方案

标签: javamd5存储保存图片图片Md5图片压缩
2956人阅读 评论(1) 收藏 举报
分类:

后端我们在处理图片文件的时候,很多都需要对一些图片进行压缩。然后再保存。同时我们保存图片为了保证一张图片仅存储一次。我们都需要根据文件的md5 来存储。

这里我们理下思路:

获取图片文件
压缩图片文件
获取压缩后的图片文件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

3
0

猜你在找
【直播】机器学习&深度学习系统实战(唐宇迪)
【直播】Kaggle 神器:XGBoost 从基础到实战(冒教授)
【直播回放】深度学习基础与TensorFlow实践(王琛)
【直播】计算机视觉原理及实战(屈教授)
【直播】机器学习之凸优化(马博士)
【直播】机器学习之矩阵(黄博士)
【直播】机器学习之概率与统计推断(冒教授)
【直播】机器学习之数学基础
【直播】TensorFlow实战进阶(智亮)
【直播】深度学习30天系统实训(唐宇迪)
查看评论
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
    个人资料
    • 访问:45559次
    • 积分:633
    • 等级:
    • 排名:千里之外
    • 原创:17篇
    • 转载:1篇
    • 译文:0篇
    • 评论:4条
    联系方式
    文章分类
    文章存档
    最新评论