yii2-ueditor-widget
yii2-ueditor-widget copied to clipboard
阿里云存储OSS在这里如何配置
如题,我上传的资源都要放到OSS中,访问路径也是,请问能不能自定义上传的处理功能?
这个应该通过wrappers
来实现比较好 你自己通过stream_wrapper_register注册一个 oss://
的wrap ,把文件存储的逻辑封在里面然后把编辑器配置的根路径直接指向这个地址就行
http://php.net/manual/zh/wrappers.php
http://php.net/manual/zh/function.stream-wrapper-register.php
这个可以 'kucha\ueditor\UEditorAction', 定义一个类集成重写uploads就好了
我直接继承了原来的Action
<?php
namespace backend\components;
use Yii;
use kucha\ueditor\UEditorAction as UEditor;
use common\components\AliyunOss;
use yii\helpers\ArrayHelper;
class UEditorAction extends UEditor
{
public function init()
{
parent::init();
}
public function run()
{
$data = parent::run();
// 上传到 OSS
if(ArrayHelper::getValue($data,'state') == 'SUCCESS' && Yii::$app->params['upload']['type'] == 'oss'){
$aliyunOSS = new AliyunOss();
if($aliyunOSS->uploadFile(substr($data['url'],1), Yii::$app->params['upload']['config']['local']['dir'].$data['url'])){
@unlink(Yii::$app->params['upload']['config']['local']['dir'].$data['url']);
}else{
$data['state'] = 'FAILURE';
}
}
return $data;
}
}