base转图片
1073
2022-10-24
本文目录一览:
不用保存成文件。
写一个servlet(假设名字是servletImg),页面的参数就是 id,然后将从DB得到的图像的byte[],通过流输出给页面。
页面还是 img src="servletImg?id=1234" /
这样的逻辑,才行。
需要在php端处理base64字符串里的头部信息
贴一段我正在用的
php($stream是你传上来的base64
//获取扩展名和文件名
if (preg_match('/(?=\/)[^\/]+(?=\;)/',$stream,$pregR)) $streamFileType ='.' .$pregR[0]; //读取扩展名,如果你的程序仅限于画板上来的,那一定是png,这句可以直接streamFileType 赋值png
$streamFileRand = date('YmdHis').rand(1000,9999); //产生一个随机文件名(因为你base64上来肯定没有文件名,这里你可以自己设置一个也行)
$streamFilename = $upPath."/".$streamFileRand .$streamFileType;
//处理base64文本,用正则把第一个base64,之前的部分砍掉
preg_match('/(?=base64,)[\S|\s]+/',$stream,$streamForW);
if (file_put_contents($streamFilename,base64_decode($streamForW[0]))===false) Common::exitWithError("文件写入失败!","");//这是我自己的一个静态类,输出错误信息的,你可以换成你的程序
字符串,假设随机命名,如果你不要随机命名,可以改streamFileRand 的值,$upPath是你上传路径):
可以处理,不过效率比较低
eugeneware/jpeg-js这个是JPG的编码,要用canvas获取到位图然后再算法重编码就行了
具体的代码里面都有,在encode的最下面
如果已经是base64格式的图片,那么可以直接使用使用。
CSS中使用:background-image: url("data:image/png;base64,iVBORw0KGgo=...");
HTML中使用:src="data:image/png;base64,iVBORw0KGgo=..."。
详细的使用和原理可以参考:
不能,转成jpg格式只能在电脑或者平板上进行;
base64
Base64是网络上最常见的用于传输8Bit字节代码的编码方式之一,大家可以查看RFC2045~RFC2049,上面有MIME的详细规范。Base64编码可用于在HTTP环境下传递较长的标识信息。
版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。
发表评论
暂时没有评论,来抢沙发吧~