Laravel 实战篇 - 七牛云存储使用实例

前言:七牛云是国内领先的企业级公有云服务商,致力于打造以数据为核心的场景化PaaS服务。围绕富媒体场景,七牛先后推出了对象存储,融合CDN加速,数据通用处理,内容反垃圾服务,以及直播云服务等。

一、安装

  • 通过composer,这是推荐的方式,可以使用composer.json 声明依赖,或者运行下面的命令。SDK包已经放到这里 qiniu/php-sdk
composer require qiniu/php-sdk

二、使用方式

案例

// 引入
use Qiniu\Auth;
use Qiniu\Storage\UploadManager;

/**
     * 一个表单提交,其中有图片上传的云存储例子.
     *
     * @param  \Illuminate\Http\Request  $request
     * @return \Illuminate\Http\Response
     */
    public function store(Request $request)
    {
        //
        
        $data = \Input::all();
        $file = $request->file('pic') ;
        if(!$file){
        	return back() ;
        }
    	if(!$file->isValid()){
            return back() ;
    	}
    	 // 需要填写你的 Access Key 和 Secret Key
        $accessKey = env('QINIU_ACCESSKEY');
        $secretKey = env('QINIU_SECRETKEY');
        // 构建鉴权对象
        $auth = new Auth($accessKey, $secretKey);
        // 要上传的空间
        $bucket = env('QINIU_BUCKET');
        // 生成上传 Token
        $token = $auth->uploadToken($bucket);
        // 要上传文件的本地路径
        $filePath = $file->getRealPath();
        // 上传到七牛后保存的文件名
        $date = time();
        $key = 'demo/'.$date.'.'.$file->getClientOriginalExtension();
        // 初始化 UploadManager 对象并进行文件的上传。
        $uploadMgr = new UploadManager();
        // 调用 UploadManager 的 putFile 方法进行文件的上传。
        list($ret, $err) = $uploadMgr->putFile($token, $key, $filePath);
        if ($err !== null) {
            return response()->json(['ResultData'=>'失败','info'=>'失败']);
        } else {
            $info = ['name'=>$data['name'],
                    'level'=>$data['level'],
                    'pic'=>$ret['key'],
                    'addtime'=>$date,
                    'status'=>'1'];
            $ids = \DB::table('data_demo')->insertGetid($info);
            if($ids){
                return redirect('/demo');
            }else{
            	dd('添加失败');
            }
        }
    }

以上只是一个简单的控制器完成整个流程的案例。另外个人认为PHP服务器上传尽量少用,毕竟消耗的是服务器性能。我暂时使用的是javascript接口,使用服务器端上传。

本文为作者原创,允许转载,转载后请以链接形式说明文章出处.
如转载但不标明来源,后果自负。

您的支持是对我最大的鼓励!

发表于: 作者:吕倡
博主经历空降兵部队8年军旅生涯,退伍后到北京IT兄弟连学习软件编程开发,工作不到一年后IT进入兄弟会,一晃在IT行业混迹了5、6年的时间。。。从一名小白也进入到了IT管理者的位置。博客,是博主学习知识分享以及私人笔记(未发布的博客)留存的地方,方便随时观看。
我的站点 Github 新浪微博 Email联系我