美文网首页
如何在前后端分离的项目中集成百度编辑器

如何在前后端分离的项目中集成百度编辑器

作者: AI时代岁月笔记 | 来源:发表于2021-09-02 23:30 被阅读0次

公司App项目中有一个“新闻动态”模块要开发,其中编辑功能采用集成百度编辑器来实现。官方有文档,网上有实例,但大多是前后端不分离的那种,这对于时下前后端分离的开发方式来说可参考性不强,现把集成方法记录下来,可供有类似需求的朋友们参考。

一、前后端环境

前端项目:Vue2.0    (vue-element-admin)

后端项目:.net core3.1 Web API

二、后端实现步骤

1. 创建asp.net core3.1项目(略)

2. Nuget搜索安装UEditorNetCore

3. Startup.cs中添加:services.AddUEditorService();

4. 添加API控制器

[Route("api/[controller]")]

    public class UEditorController : Controller

    {

        private UEditorService ue;

        public UEditorController(UEditorService ue)

        {

            this.ue = ue;

        }

        public void Do()

        {

            ue.DoAction(HttpContext);

        }

    }

5. 前后端通信相关的配置:在与appsettings.json同级的目录中添加config.json文件,这个文件是从这里下载。然后进行以下配置:

"imageUrlPrefix": "/", /* 图片访问路径前缀 */

"imagePathFormat": "upload/image/{yyyy}{mm}{dd}/{time}{rand:6}",

6. 将后端项目用IIS发布,这个比较简单,不作叙述。

说明

a. 如果不需要在编辑器中上传文件、图片则可不用后端的配置

b. 测试后端是否配置成功,可以在浏览器中输入:http://127.0.0.1:8031/api/UEditor?action=config   若能正常返回config内容就说明配置好了。其中IP地址请取服务端的地址

三、前端实现步骤

1. 在前端vue项目中安装:cnpm i vue-ueditor-wrap

2. 下载vue-ueditor-wrap:选择utf8-net.zip 解压后改名为ueditor, 然后复制到public文件夹下,注意ueditor下的net文件夹删除不要

3. 修改 ueditor 文件中的 ueditor.config.js 配置:  window.UEDITOR_HOME_URL = '/ueditor/'

4. 在vue组件内注册使用

新增一个vue文件,引入编辑器. 因vue-ueditor-wrap可以实现双向绑定,就象使用input组件一样容易。大家具体可以参照以下截图。

这里的配置比较关键,其中serverUrl的配置要根据后端控制器的路由来设置,比如上面后端控制器路由为api, 控制器为UEditor, 所以serverUrl设置为/api/UEditor。这里配置成功后就可以实现多图上传了,也没有出现跨域问题。整个过程需要手写代码的地方很少,也不需要自己去实现什么上传接口,只要一步步厘清就行。

以上步骤就完成了在前后端分离的项目中集成了百度编辑器。至于怎样保存到数据库,如何提供访问接口不属于本文需要讲述的内容,就此略去。

最后贴个简易效果图:

roy yi

2021-09-02


后记

发布到阿里云服务器后若出现“在百度编辑器中可以正常上传图片,但图片不能显示”的问题。可以用nginx轻松解决:

location /upload/image {

            proxy_pass http://localhost:80; # 将以 /upload/image 开头的请求代理到 proxy_pass指定的路径上(百度编辑器显示图片)

        }

相关文章

网友评论

      本文标题:如何在前后端分离的项目中集成百度编辑器

      本文链接:https://www.haomeiwen.com/subject/evncwltx.html