作者:白狼 出处:http://www.manks.top/article/yii2_umeditor_upload 本文版权归作者,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利。
yii2框架整合了百度编辑器,因为文件上传采用的是yii2自带的UploadedFile,这就难免umeditor上传不成功问题,解决问题的只需要两个操作步骤,我们来看看具体实现
首先我们先把umeditor的配置搞好,这里只需要更改imageUrl配置项即可,我们修改其指向/tools/um-upload
那下一步自然是实现/tools/um-upload方法了,
按照ueditor的实现来看,这里我们上传成功后只需要返回成功信息即可
use backend\models\Upload;
use yii\web\UploadedFile;
/**
* 百度umeditor上传
*/
public function actionUmUpload ()
{
$model = new Upload();
if (Yii::$app->request->isPost) {
$model->file = UploadedFile::getInstance($model, 'file');
$dir = ‘文件保存目录’;
if (!is_dir($dir))
mkdir($dir);
if ($model->validate()) {
$fileName = $model->file->baseName . '.' . $model->file->extension;
$dir = $dir.'/'. $fileName;
$model->file->saveAs($dir);
$info = [
"originalName" => $model->file->baseName,
"name" => $model->file->baseName,
"url" => $dir,
"size" => $model->file->size,
"type" => $model->file->type,
"state" => 'SUCCESS',
];
exit(json_encode($info));
}
}
}
特别提醒:上述返回的$info信息中state状态只能是SUCCESS,区分大小写
关于Yii图片上传请参考Yii2文件上传
关于yii整合百度编辑器请参考yii2整合百度编辑器umeditor
来源:oschina
链接:https://my.oschina.net/u/2486665/blog/661467