zoukankan      html  css  js  c++  java
  • PHP——base64的图片的另类上传方法

    前言

    这只是个暂行的办法,回头研究好七牛云的base64上传或者vue的文件上传后还是要进行更改的

    想法是这样的,既然前端只能穿base64的那就传base64的然后转为文件上传到七牛云后再删除

    本地的文件。

    代码

    后缀统一定死了,这个是可以写活的,想写活的话就再传个文件名称就好了,通过php的获取文件信息函数或者截取函数都是可以实现获得后缀的,因为这个方法只是暂行的后面还会修改,所以我就先写死了

    <?php
    namespace appapicontroller;
    use thinkDb;
    use thinkcontroller;
    use appapicontrollerUser;
    use QiniuQiniu;
    use thinkRequest;
    /**
     * 
     * @author wangyanyan
     *
     */
    class  Userprize extends  User
    {
    
    
    
       public function upload()
        {
    
            $base_img = input('imgbase/s','');
            $base_str = explode(',', $base_img);
            $img = base64_decode($base_str['1']);
            $time = time();
            $uid = $this->_uid;
            $imgName = $time.'-'.$uid;
            $imgPath = './public/uploads/'.$imgName.'.jpg';
            $imgSize = file_put_contents($imgPath, $img);
            // 要上传图片的本地路径
            $filePath = $imgPath;
            $qiniu_config  = db('my_config')->where(array('name'=>'qiniu'))->value('data');
            if($qiniu_config){
                $qiniu_config = json_decode($qiniu_config);
            }
            $config = array(
                'domain'=>$qiniu_config->domain,
                'bucket'=>$qiniu_config->bucket,
                'accesskey'=>$qiniu_config->accesskey,
                'secretkey'=>$qiniu_config->secretkey,
            );
            $qiniu = new Qiniu($config);
            $qiniu->token();
            //$ext = pathinfo($file->getInfo('name'), PATHINFO_EXTENSION);  //后缀
            $ext = '.jpg';
            $result = $qiniu->uploadOne($filePath,'',null,$eaxt); //这里是Form表单提交
            if ($result) {
                unlink($imgPath);
                $data = $qiniu_config->domain.$result['key'];
                $this->apiReturn(1, $data);
            } else {
                $this->apiReturn(0,"系统开小差了哦~");
            }
         }
    }
  • 相关阅读:
    链表的一些规律总结
    acclib的尝试
    初入指针
    在一个堆成矩阵中的循环判断(井字棋游戏)
    初学c语言的小套路汇总
    在循环中计算式一正一负的处理
    最大公约数的计算方法
    大数加法
    大数乘法
    复制可见区域到新表
  • 原文地址:https://www.cnblogs.com/wangyang0210/p/10404590.html
Copyright © 2011-2022 走看看