asp.net core 添加百度編輯器(ueditor)

百度編輯器:https://ueditor.baidu.com/website/download.html

git地址:https://github.com/fex-team/ueditor

有選擇困難症的可以直接點這裏下載:下載

下載完之後放在項目的wwwroot裏面:

引用:

在需要使用的頁面頭部上添加以下代碼:

<script type="text/javascript" charset="utf-8" src="~/lib/ueditor/ueditor.config.js"></script>
<script type="text/javascript" charset="utf-8" src="~/lib/ueditor/ueditor.all.js"></script>
<!--建議手動加在語言,避免在ie下有時因爲加載語言失敗導致編輯器加載失敗-->
<!--這裏加載的語言文件會覆蓋你在配置項目裏添加的語言類型,比如你在配置項目裏配置的是英文,這裏加載的中文,那最後就是中文-->
<script type="text/javascript" charset="utf-8" src="~/lib/ueditor/lang/zh-cn/zh-cn.js"></script>

頁面編輯器位置:

<script id="editor" type="text/plain" style="width:1024px;height:500px;">
                </script>

底部加載:

//實例化編輯器
    //建議使用工廠方法getEditor創建和引用編輯器實例,如果在某個閉包下引用該編輯器,直接調用UE.getEditor('editor')就能拿到相關的實例
    var ue = UE.getEditor('editor');


    function getContent() {
        return UE.getEditor('editor').getContent();
    }

其實就可以運行了,但是還要配置以下上傳的服務,asp.net core已經不使用web.config來配置,都是通過startup來注入服務:

在Startup.cs的ConfigureServices方法中添加UEditorNetCore服務

public void ConfigureServices(IServiceCollection services)
{
  //第一個參數爲配置文件路徑,默認爲項目目錄下config.json
  //第二個參數爲是否緩存配置文件,默認false
  services.AddUEditorService();
}

添加Controller用於處理來自UEditor的請求

我不是很喜歡在controller裏面專門加一個控制器處理,所以在API裏面加了這個控制器

[Route("api/[controller]")]
    public class UEditorController : ControllerBase
    {
        private UEditorService ue;
        public UEditorController(UEditorService ue) {
            this.ue= ue;
        }

        public void Do() {
            ue.DoAction(HttpContext);
        }
    }

修改前端配置文件ueditor.config.js以引用這個api處理控制器

serverUrl:"/api/UEditor"

由於asp.net.core都以json配置一些參數

需要在項目配置config.json的文件

"imageUrlPrefix": "/", /* 圖片訪問路徑前綴 */
"imagePathFormat": "upload/image/{yyyy}{mm}{dd}/{time}{rand:6}",
至此就完成了。具體的demo可以git上有。

https://github.com/chenderong/UEditorNetCore

可以直接此處下載

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章