Thinkphp连接七牛云存储空间上传图片接口

发布时间:2019-01-08 13:23:14 浏览量:1548 标签: 图片上传 七牛云 thinkphp

关于tihnkphp框架和七牛云就不做介绍了,主要说下如何上传图片到七牛云存储空间,并获取链接地址。

第一步:获取七牛云的存储空间,有一个本地开发环境

第二步:获取七牛云上传图片配置,放在config.php文件内


//七牛云上传图片配置
'ACCESSKEY' => '',//你的accessKey
'SECRETKEY' => '',//你的secretKey
'BUCKET'    => '',//上传的空间
'DOMAIN'    => '',//空间绑定的域名


第三步:下载七牛云sdk放在vendor目录下,并写逻辑代码


下载地址:    点击下载


/**
     * 图片上传
     * @return String 图片的完整URL
     */
    public function upload()
    {
        vendor('Qiniu.autoload');
 
        $file = request()->file('image');
        // 要上传图片的本地路径
        $filePath = $file->getRealPath();
        $ext = pathinfo($file->getInfo('name'), PATHINFO_EXTENSION);  //后缀
        //获取当前控制器名称
        $controllerName = 'index';
        // 上传到七牛后保存的文件名
        $key =substr(md5($file->getRealPath()) , 0, 5). date('YmdHis') . rand(0, 9999) . '.' . $ext;
        // 需要填写你的 Access Key 和 Secret Key
        $accessKey = config('ACCESSKEY');
        $secretKey = config('SECRETKEY');
        // 构建鉴权对象
        $auth = new Auth($accessKey, $secretKey);
        // 要上传的空间
        $bucket = config('BUCKET');
        $domain = config('DOMAIN');
        $token = $auth->uploadToken($bucket);
        // 初始化 UploadManager 对象并进行文件的上传
        $uploadMgr = new UploadManager();
        // 调用 UploadManager 的 putFile 方法进行文件的上传
        list($ret, $err) = $uploadMgr->putFile($token, $key, $filePath);
        if ($err !== null) {
             return json(['code'=>100,'msg'=>$err]);
        } else {
             //返回图片的完整URL
             $ret = $domain."/".$ret['key'];
             return json(['code'=>100,'msg'=>'上传成功','data'=>$ret]);
        }
}


第四步:上传页面代码


/**
 * 图片上传
 * @return [type] [description]
 */
public function index()
{
    return view('qiniu/index');
}
<!DOCTYPE html>
<html>
<head>
         <meta charset="UTF-8">
         <title>Document</title>
</head>
<body>
         <form action="{:url('Qiniu/upload')}" method="post" enctype="multipart/form-data">
             <input type="file" name='image'>
             <input type="submit" value="上传">
         </form>
</body>
</html>


以上就是七牛云图片上传接口,后续更新其他接口



评论
登录后才可以进行评论哦! QQ登录
验证码
评论内容