/**
     * 图片上传接口
     */
    public function base64upload()
    {
        if (request()->isPost()) {
            $base64_image_content = $_POST['base64'];
            //重复评论内容做20秒间隔设置
//            $distinct_student_key = md5(json_encode([
//                'data' => ['base64_image_content'=>$base64_image_content],
//                'action' => 'base64upload',
//            ]));
//            $last_student = Cache::store('redis')->get($distinct_student_key);
//            if ($last_student && isset($last_student['key']) && $last_student['key'] == $distinct_student_key) {
//                $this->error(__('请勿重复提交'));
//            }

            if (preg_match('/^(data:\s*image\/(\w+);base64,)/', $base64_image_content, $result)) {
                //图片后缀
                $type = $result[2];
                if ($type == 'jpeg') {
                    $type = 'jpg';
                }
                //保存位置--图片名
                $image_name = date('His') . str_pad(mt_rand(1, 99999), 5, '0', STR_PAD_LEFT) . "." . $type;
                $image_path_url=date('Ymd') . '/' . $image_name;//返回路径的url
                $image_url = '/uploads/mech/'. $image_path_url;//总的url----机构的图片
                if (!is_dir(dirname('./' . $image_url))) {
                    mkdir(dirname('./' . $image_url), 0777,true);
                    chmod(dirname('./' . $image_url), 0777);
                    //  umask($oldumask);
                }
                //解码
                $decode = base64_decode(str_replace($result[1], '', $base64_image_content));
                if (file_put_contents('./' . $image_url, $decode)) {

                    $data['imageName'] = $image_name;
                    $data['image_url'] = $image_url;
                    $data['image_true_url'] = $this->request->domain().$image_url;
                    $data['image_path_url']=$image_path_url;
                    $data['type'] = $type;
                    $code = 0;
                    $msg = '保存成功!';
                } else {

                    $data['imgageName'] = '';
                    $data['image_true_url'] = '';
                    $data['image_url'] = '';
                    $data['type'] = '';
                    $code = 1;
                    $msg = '图片保存失败!';
                }
            } else {
                $data['imgageName'] = '';
                $data['image_true_url'] = '';
                $data['image_url'] = '';
                $data['type'] = '';
                $code = 1;
                $msg = 'base64图片格式有误!';
            }

//            Cache::store('redis')->set($distinct_student_key,5,10);

            return json(['code'=>$code,'data'=>$data,'msg'=>$msg]);
        }
    }


点赞(67)

评论列表 共有 0 条评论

暂无评论
立即
投稿
发表
评论
返回
顶部
{__SCRIPT__}