• 前后端分离 前台传base64的图片 tp5.1.1进行处理


    话不多说,直接上代码

    public function image(Request $request){
            $param = $request->param();
    //目录的upload文件夹下
            $up_dir = "uploads/".date('Ymd', time()) . "/";  //创建目录
            if(!file_exists($up_dir)){
                mkdir($up_dir,0777,true);
            }
            $base64_img = trim($param['image']);
     
            if(preg_match('/^(data:s*image/(w+);base64,)/', $base64_img, $result)){
                $type = $result[2];
                if(in_array($type,array('pjpeg','jpeg','jpg','gif','bmp','png'))){
                    $new_file = $up_dir.time().'.'.$type;
                    if(file_put_contents($new_file, base64_decode(str_replace($result[1], '', $base64_img)))){
                        $img_path = str_replace('../../..', '', $new_file);
                        return json(array('code'=>0,'data'=>$img_path,'msg'=>'成功'));
                    }else{
                        return json(array('code'=>1,'data'=>'','msg'=>'图片上传失败'));
                    }
                }else{
                    //文件类型错误
                    return json(array('code'=>1,'data'=>'','msg'=>'图片上传类型错误'));
                }
            }
        }

    转载 :https://blog.csdn.net/zhangweiguangsunjiao/article/details/100861750

    ------------------------------------------------------------自己项目-----------------------------------------------------------------------

       public function upload_free_img()
        {
    
    
    
    
            //todo 前后端分离,前台传图片的base64,后台获取base64流把图片保存在服务器中
    
            $img = $_POST['imgbase64'];
            //目录的upload文件夹下
            $up_dir = "uploads/base64/upload_free_img/".date('Ymd', time()) . "/";  //创建目录
            if(!file_exists($up_dir)){
                mkdir($up_dir,0777,true);
            }
            $base64_img = $img;
    
            if(preg_match('/^(data:s*image/(w+);base64,)/', $base64_img, $result)){
                $type = $result[2];
                if(in_array($type,array('pjpeg','jpeg','jpg','gif','bmp','png'))){
                    $new_file = $up_dir.md5(time()).'.'.$type;
                    if(file_put_contents($new_file, base64_decode(str_replace($result[1], '', $base64_img)))){
                        $img_path = str_replace('../../..', '', $new_file);
                        return json(array('status'=>200,'data'=>$img_path,'msg'=>'成功'));
                    }else{
                        return json(array('status'=>400,'data'=>'','msg'=>'图片上传失败'));
                    }
                }else{
                    //文件类型错误
                    return json(array('status'=>400,'data'=>'','msg'=>'图片上传类型错误'));
                }
            }
    
        }

  • 相关阅读:
    UE4智能指针:TUniquePtr
    浅析UE4垃圾回收
    UE4中资源的引用
    ELF文件基础
    【JVM】JVM和Java 体系架构
    【Java多线程】Java线程生命周期、线程同步、线程通信(二)
    【Java多线程】Java多线程基础(一)
    【Java面试题】MySQL索引底层为什么用到B+树
    【算法】B树、B+树详解
    【Kafka】 Kafka的简介与架构(三)
  • 原文地址:https://www.cnblogs.com/yehuisir/p/13389276.html
Copyright © 2020-2023  润新知