百度编辑器: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
可以直接此处下载