Laravel5.4 整合 oss+Laravel-u-editor(Laravel 百度编辑器包)

安装对应插件包

1.安装插件包,具体安装使用步骤:laravel-u-editor

建议调用并测试使用上传图片功能一切正常后,再操作以下步骤

2.安装阿里云OSS sdk包:官方sdk

修改UploadFile.php

目录\vendor\stevenyangecho\laravel-u-editor\src\Uploader\

头部引入

use OSS\Core\OssException;
use OSS\OssClient;

修改doUpload() ,加入上传oss入口

加在else if(config('UEditorUpload.core.mode')=='qiniu'){XXXX}后

else if(config('UEditorUpload.core.mode')=='alioss'){

            $this->file->move(dirname($this->filePath), $this->fileName);

            $accessKeyId = config('UEditorUpload.core.oss.oss_access_id');//去阿里云后台获取秘钥
            $accessKeySecret = config('UEditorUpload.core.oss.oss_access_key');//去阿里云后台获取秘钥
            $endpoint = config('UEditorUpload.core.oss.oss_endpoint');//你的阿里云OSS地址

            $ossClient = new OssClient($accessKeyId, $accessKeySecret, $endpoint);
            $bucket= config('UEditorUpload.core.oss.oss_bucket');//oss中的文件上传空间
            $object = config('UEditorUpload.core.oss.oss_document').md5(time()).".jpg";//想要保存文件的名称
            $file = public_path().$this->fullName;//文件路径,必须是本地的。

            try{
                $ossClient->uploadFile($bucket,$object,$file);
                // 删除本地文件
                unlink($file);
                // 定义全局变量存储图片的oss路径
                $GLOBALS['ossimgurl'] = "https://".$bucket.".".$endpoint."/".$object;
                $this->fullName=$GLOBALS['ossimgurl'];
                $this->stateInfo = $this->stateMap[0];
            } catch(OssException $e) {
                //上传失败,自己编码
                $this->stateInfo = $e->getMessage();
            }
        }

修改UEditorUpload.php

找到config目录下的UEditorUpload.php的core数组位置,具体env配置根据自己需求修改

'core' => [
        'route' => [
           // 'middleware' => 'auth',
        ],

        'mode'=>'alioss',//上传方式,local 为本地   qiniu 为七牛

        //七牛配置,若mode='qiniu',以下为必填.
        'qiniu'=>[
            'accessKey'=>'',
            'secretKey'=>'',
            'bucket'=>'',
            'url'=>'http://xxx.clouddn.com',//七牛分配的CDN域名,注意带上http://
        ]
        'oss'=>[
            'oss_access_id'                  =>      env('OSS_ACCESS_ID'),
            'oss_access_key'                 =>      env('OSS_ACCESS_KEY'),
            'oss_endpoint'                   =>      env('OSS_ENDPOINT'),
            'oss_internal_endpoint'          =>      env('OSS_INTERNAL_ENDPOINT'),
            'oss_bucket'                     =>      env('OSS_BUCKET'),
            'oss_document'                   =>      'ueditor/', //oss上传目录文件夹
        ],
    ],

具体配置写在env,变量对应内容,请阅读阿里云oss文档

讨论数量: 2
pigzzz

改vendor是认真的吗

1周前

@pigzzz 这会有什么不堪后果

1周前

请勿发布不友善或者负能量的内容。与人为善,比聪明更重要!