base64图片上传处理方式

Posted lvfish

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了base64图片上传处理方式相关的知识,希望对你有一定的参考价值。

前台传图片的base64格式,后台处理方式
//处理图片信息 返回对应的路径
public function uploadBaseIma($imgArr){
$result = array();
//将路径直接设置在uploads下
if($imgArr){
foreach($imgArr as $k => $v){
if($v){
//判断上传的是否为原地址
$a = preg_match(‘/.*(.png|.jpg|.jpeg|.gif)$/‘, $v);
if($a){
//是就存储不变,将文件路径存储
$b = substr($v,36);
$result[$k] = $b;
}else{
//不是就上传图片
$address = $this->baseChangeImg($v);
$result[$k] = $address;
}
}else {
return array();
}
}
return $result;
}
}
//base64转化为本地图片
public function baseChangeImg($base)
{
//匹配出图片的格式
if (preg_match(‘/^(data:s*image/(w+);base64,)/‘, $base, $result)) {
$type = $result[2];
$path = ‘/base‘ . date(‘Ymd‘, time()) . "/";
$new_file = public_path(‘uploads‘) . $path;
if (!file_exists($new_file)) {
//检查是否有该文件夹,如果没有就创建,并给予最高权限
mkdir($new_file, 0700);
}
$name = uniqid() . ".{$type}";
$new_file = $new_file . $name;
if (file_put_contents($new_file, base64_decode(str_replace($result[1], ‘‘, $base)))) {
return $path . $name;
} else {
return false;
}
}
}














































以上是关于base64图片上传处理方式的主要内容,如果未能解决你的问题,请参考以下文章

base64上传图片保存到数据库

js实现图片上传预览功能,使用base64编码来实现

element ui之图片上传以base64的格式传给后端

Vue结合element ui 实现图片上传可预览,可删除,以base64字符串上传到服务器

CKEditor图片上传问题(默认安装情况下编辑器无法处理图片),通过Base64编码字符串解决

php图片上传为啥要base64上传