abp 集成在线编辑器summernote并增加上传附件功能

前言

abp无疑是目前net程序员中最火最好的免费开源框架之一了。在实际开发应用中,经常要用到的一个功能是所见即所得的在线编辑器,summernote就是一个免费、简洁的开源的编辑器。而abp默认并没有给我们集成进来,比如我开发的新闻模块,就需要集成summernote编辑器,下面我介绍一下集成的过程

基本集成过程

1、从https://aspnetboilerplate.com/Templates下载最新的代码,我用的是asp.net core 多页面版本

image.png

2、下载完成后,打开解决方案,打开Web.Mvc项目根目录下的libman.json,增加一行:

{
      "library": "summernote@0.8.18",
      "destination": "wwwroot/libs/summernote"
    } 

然后右键选择libman.json文件,选择还原客户端


image.png

3、在views/share/layout/_Scripts.cshtml中添加summernote相应的js

@*summernote scripts start*@
<script src="~/libs/summernote/dist/summernote.js"></script>
<script src="~/libs/summernote/dist/lang/summernote-zh-CN.js"></script>
<script src="~/libs/summernote/dist/plugin/files/summernote-file.js"></script>
@*summernote scripts end*@

4、在views/share/layout/_Styles.cshtml中添加summernote相应的css

 <link href="~/libs/summernote/summernote.css" rel="stylesheet" asp-append-version="true" />

这样就在全局中配置好了summernote,在需要使用的地方引入就可以了。
比如界面上:

<textarea id="summernote" name="NewsContent"></textarea>

后台js代码

$('#summernote').summernote();

基本的界面如图:


image.png

默认summernote功能的不足

summernote 默认的功能插入图片是保存图片为base64格式,如果插入的图片很多很大,保存到数据库的话内容一多,数据库压力很大,而且默认没有上传附件文件的功能,在实际开发中,必须扩展这些功能,把图片、音视频文件、word、pdf,压缩文件上传到服务器并存成文件,数据库中中保留文件的名称和路径,这样数据库调用起来速度也快。

我的集成例子和功能展示

我开发了一个新闻模块来具体展示怎样abp集成summernote并扩展summernote功能支持附件上传功能,解决上面提到的summernote默认功能的不足。


GIF 2020-7-5 7-03-49.gif

例子中还包含了新闻模块的全部代码,展示了abp开发的全过程。如果您不想自己摸索,只需要赞助本人一瓶饮料的费用,并在留言中留下您的邮箱,我会很快(取决与是否在电脑旁边)发送源代码到您的邮箱,并感谢您的支持,下面是我的微信收款码:

支付.png
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。