zoukankan      html  css  js  c++  java
  • Laravel 实战篇

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

    一、安装

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

    二、使用方式

    案例

    // 引入
    use QiniuAuth;  
    use QiniuStorageUploadManager;
    
    /**
         * 一个表单提交,其中有图片上传的云存储例子.
         *
         * @param  IlluminateHttpRequest  $request
         * @return IlluminateHttpResponse
         */
        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接口,使用服务器端上传。

    [原文地址](http://www.blog8090.com/)
  • 相关阅读:
    [GEF]实现模板功能
    一篇WTP文章
    写代码的代码:JET
    投票选择eclipse.org的新界面
    在SWT里显示AWT对象
    Plugin.xml > Manifest.mf
    关于本体编程的实现
    一个用OWLS组装Web服务的例子
    感受Ruby on Rails
    通过OCP考试
  • 原文地址:https://www.cnblogs.com/jhcyzxx/p/10479893.html
Copyright © 2011-2022 走看看