网站首页 > 技术文章 正文
每次都在网上转化感觉有点烦,就萌生了自己动手玩一个的念头,先放结果图
放错了,嗯是下面这张
base64与图片相互转化要用到base64_decode和base64_encode函数
首先我们观察网页图片的base64位编码
$img = 'data:image/png;base64,......';
$img0 = ' data:image/jpeg;base64,....';
$img1 = 'data:image/jpg;base64,.....';
相信大家都发现了这个简单的规律,我们要获取原图片的mime类型,只需要用到substr和strpos2个字符串处理函数就OK.
//查找字符'/'第一次出现位置
$start = strpos($img,'/');
//查找字符';'第一次出现位置
$end = strpos($img,';');
//截取字符串的长度
$length = $end - $start -1;
//获取mime类型
$mime = substr($img,$start + 1,$length);
万一有个混蛋不传base64头,那就不行了啊.别急,下面我们慢慢解决
考虑到如下的问题,决定封装
传入的base64编码是否有头
base64转图片后输出的图片格式
base64编码转图片后,图片的保存;图片转base64编码后,base64编码的保存(不想吐槽,有些base64编码真的很长很长).这里要涉及到文件的建立mkdir函数(linux下还要涉及文件的权限问题),以及file_get_contents和file_put_contents函数
首先定义根目录以及图片和txt保存的路径
目录结构(linux下要给予base64和image读写权限)
先写个接口吧,把要用到的方法理清楚
思路理清,正式开始.实现接口
调用先把base64编码转化成图片再把图片转化成base64
结果如下
打开浏览器输出的结果,查看
顺便吐槽下,淘宝的评价的星base64编码真的长.....一个17K的图片转化base64位编码23K......
嗯,好像写的复杂了
终于知道一位前辈为什么说你最好每周写一篇博客了.写博客真的有助于提高自身啊.嗯,这是头条..还是别说了.第一次玩头条,以后就一周玩一次吧.头条分类都没有这代码这块,我就选个娱乐吧,写个文章就是自我娱乐的过程.
猜你喜欢
- 2024-10-16 【验证码逆向专栏】百某网数字九宫格验证码逆向分析
- 2024-10-16 jquery-利用canvas让图片旋转角度
- 2024-10-16 一文带你搞懂JS实现压缩图片 js压缩上传图片
- 2024-10-16 前端性能优化之请求优化 前端性能优化问题
- 2024-10-16 Serverless 实战:如何为你的头像增加点装饰?
- 2024-10-16 谈谈图片上传及canvas压缩的流程 js 图片压缩后上传
- 2024-10-16 妹子委婉地和男友说没钱了,结果差点换来一张luo照?
- 2024-10-16 Blob-对象介绍 对象object
- 2024-10-16 《小白HTML5成长之路51》canvas压缩图片上传功能的原理
- 2024-10-16 Dom-to-image截图将html生成图片 html2canvas截图
你 发表评论:
欢迎- 最近发表
- 标签列表
-
- oraclesql优化 (66)
- 类的加载机制 (75)
- feignclient (62)
- 一致性hash算法 (71)
- dockfile (66)
- 锁机制 (57)
- javaresponse (60)
- 查看hive版本 (59)
- phpworkerman (57)
- spark算子 (58)
- vue双向绑定的原理 (68)
- springbootget请求 (58)
- docker网络三种模式 (67)
- spring控制反转 (71)
- data:image/jpeg (69)
- base64 (69)
- java分页 (64)
- kibanadocker (60)
- qabstracttablemodel (62)
- java生成pdf文件 (69)
- deletelater (62)
- com.aspose.words (58)
- android.mk (62)
- qopengl (73)
- epoch_millis (61)
本文暂时没有评论,来添加一个吧(●'◡'●)