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

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

时间: 2024-09-19 08:20:26

压缩图片并根据图片md5 存储的一种优化解决方案的相关文章

压缩WPS演示中图片的方法

  压缩WPS演示中图片的方法 1.打开WPS演示,新建一空白幻灯片,插入图片. 2.插入完之后,选中图片,执行剪切命令.然后点击菜单栏--编辑--选择性粘贴. 3.在选择性粘贴界面,我们选择JPG格式,点击确定. 4.来看看压缩前后的对比效果吧,怎么样,是不是很有用呢? 提示 格式不一定非要是jpg,可以根据需要选择PNG或者GIF都行,此方法同样在WPS文字.WPS表格中适用.

关于二进制存储图片和读取图片的问题

问题描述 关于二进制存储图片和读取图片的问题 如何将图片以二进制的形式存入数据库中 在二进制的形式读取出来 求代码 解决方案 以二进制进行存储和读取图片以二进制进行存储和读取图片.NET中二进制图片的存储与读取 解决方案二: public byte[] ImageConvertToByte(string filepath) { //filepath = @"E:/e.jpg"; FileStream fs = new FileStream(filepath, FileMode.Open

java 压缩 gif-java 压缩透明背景gif图片

问题描述 java 压缩透明背景gif图片 imgscalr-lib-4.2.jar压缩后透明背景都变成白底了,有没好的解决办法,Gif4j是闭源的,有处理过的大神请指教 解决方案 gif格式图片在处理的时候删除底色就可以做无色锣空的图片.但需要自己用PS软件处理.

百度ueditor怎么修改图片上传路径(可以存储在单独的图片服务器么,不存储在项目根目录下)?

问题描述 百度ueditor怎么修改图片上传路径(可以存储在单独的图片服务器么,不存储在项目根目录下)? 百度ueditor怎么修改图片上传路径(可以存储在单独的图片服务器么,不存储在项目根目录下)? 解决方案 当然可以,找到保存文件的地方,路径参数改为局域网共享那种地址 192.168.1.xxxxxxx也可以保存,要记得给everyone写入权限 然后图片服务器也要安装iis,配置一个二级域名用来加载图片,修改ueditor image插件js的文件中返回的图片路径为二级域名的路径 解决方案

js-首页显示压缩后的小图片,点开后链接详情页显示大图片,怎么实现呢,要求图片在一路径下

问题描述 首页显示压缩后的小图片,点开后链接详情页显示大图片,怎么实现呢,要求图片在一路径下 首页显示压缩后的小图片,点开后链接详情页显示大图片,怎么实现呢,要求图片在一路径下 解决方案 一个大图,一个缩略图实现的. 解决方案二: 你可以用一个图片通过css改变width/height实现,但是那样的话,因为压缩后的图片肯定质量有所下降,可能就不清楚了.但是不压缩,图片比压缩后的要大,可能影响打开页面的时间. 解决方案三: 有很多效果可以实现你的要求,如fancybox,facebox等插件..

magento -- 为Magento提速再做一点小努力之用工具压缩网页上的图片

Magento的速度问题一直困扰着我,以至于把能提高页面访问速度的方式能试的都试一遍.今天讲的东西并不是Magento独有,只不过为了弥补Magento在速度上的劣势,显得更迫切一点. 现在的网站越做越复杂,网页上的图片运用的很多,特别是商城会放很多大图片来做广告图,让网页的越来越大,以凡客为例,凡客的首页大小是2.4M,其中2.3M是图片,也就是说图片占据了网页内容的绝大多数.假如能把所有图片的大小压缩10%,整个页面就可以小230KB,而这并不是不可实现的. Firebug这个插件应该每个做

java压缩文件和下载图片示例_java

本文实例为大家分享了java压缩文件和下载图片示例,供大家参考,具体内容如下 主页面index.xml <%@ page language="java" import="java.util.*" pageEncoding="utf-8"%> <html> <head> <title>项目的主页</title> </head> <body> <h2>主页

C#图片切割、图片压缩、缩略图生成代码汇总_C#教程

本文为大家整理了C#图片切割.图片压缩.缩略图生成的实现代码,大家可以收藏,方便以后使用,具体内容如下 /// 图片切割函数 /// </summary> /// <param name="sourceFile">原始图片文件</param> /// <param name="xNum">在X轴上的切割数量</param> /// <param name="yNum">在Y轴

PHP 将图片按创建时间进行分类存储的实现代码_php技巧

复制代码 代码如下: <?php /* 代码功能:使用PHP巧妙将图片按创建时间进行分类存储; 图片文件属性须取消只读属性,否则无法删除 By lost63 */ //延时设置 set_time_limit(0); $path='C:\恢复文件\图形$图片\JPEG 图像 (.jpg)'; $result=dir($path); while($value=$result->read()){ if(strpos($value,'.JPG')==true||strpos($value,'.jpg'