作者:白狼 出處:http://www.manks.top/article/yii2_umeditor_upload本文版權歸作者,歡迎轉載,但未經作者同意必須保留此段聲明,且在文章頁面明顯位置給出原文連接,否則保留追究法律責任的權利。
yii2框架整合了百度編輯器,因爲文件上傳採用的是yii2自帶的UploadedFile,這就難免umeditor上傳不成功問題,解決問題的只需要兩個操作步驟,我們來看看具體實現
首先我們先把umeditor的配置搞好,這裏只需要更改p_w_picpathUrl配置項即可,我們修改其指向/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