微信头像上传 thinkphp6使用base64进行接收

前端需要将用户授权的微信头像使用base64进行加密,后端接受到后进行相关的处理,保存在项目的根目录下uploads/images,根据当前时间生成文件夹进行保存。

    /*上传用户头像*/
    public function avatar(Request $request){
        $url=$request->post("image");
        $decode_img = base64_decode(str_replace('data:image/jpeg;base64', '', $url));

        $rootPath =  'uploads/images' . DIRECTORY_SEPARATOR;
        $subPath = date('Ymd') . "/";
        $savePath = $rootPath . $subPath;

        // 如果目录不存在,则创建目录
        if (!is_dir($savePath)) {
            mkdir($savePath, 0755, true);
        }

        $filename = uniqid() . '.jpeg'; // 生成唯一文件名
        file_put_contents($savePath.$filename, $decode_img);

        $avatar_path = '/uploads/images/'.$subPath.$filename;
        return $this->success('上传成功',[$avatar_path]);

    }

你可能感兴趣的:(微信)