springboot后端存储富文本内容(含图片内容)

基本知识

springboot:后端快速应用开发框架。

tinymce:简单的富文本编辑器。

base64:Base64是网络上最常见的用于传输8Bit字节码的编码方式之一,Base64就是一种基于64个可打印字符来表示二进制数据的方法。编码规则:把3个字节变成4个字节;每76个字符加一个换行符;最后的结束符也要处理。对于图片来说,base64 编码就是可以将一副图片数据编码成一串字符串,使用该字符串代替图像地址。

基本思路

​获取tinymce富文本编辑器的内容(html形式),通过axios发送到后端,后端接收到内容后直接存储到数据库。

步骤

1、前端配置好tinymce富文本编辑器

​配置tinymce富文本编辑器的过程参见官方文档:https://www.tiny.cloud/docs/tinymce/6/

我配置好的富文本编辑器效果如下:

2、获取富文本编辑器的内容,并发送至后端

​注意这里有一个问题就是图片该如何传输,我这里是直接获取base64格式的图片后直接上传,这是一个比较简单的方法。

html内容如下:

可以看到图片的内容极其长,这是base64格式编码导致的,不过好处是当前端请求富文本内容时,如果一篇文章中有很多图片的话,浏览器不用多次发起图片请求,而是图片和文字一起发送到了前端。

关于图片上传到富文本编辑器后转为base64格式的代码参考:https://blog.csdn.net/weixin_42919342/article/details/127901905

前端通过axios将富文本发送给后端的代码:

 axios({
        method: 'post',
        url: 'http://localhost:8081/users/news',
        data: {
          "categoryId": 1,
        "userId": 1,
        "title": "震惊!!60岁老头竟然。。。。",
        "context": tinymce.activeEditor.getContent()
        }
      }).then((res)=>{
        console.log(res.data)
      })

​还有一个方法是图片内容和文字内容分开上传,内容依旧是html格式,但是“<img src=“图片路径”>”,这里的图片路径需要重写为图片上传后存储在服务器上的路径。

3、后端在数据库创建表

​注意:存储富文本的内容的数据类型为longtext,防止内容过长无法保存

存储结果如下:

4、后端编写接收富文本内容的接口

@ApiOperation("发表新闻")
    @PostMapping("/news")
    public Result updateNews(@RequestParam Long userId,@RequestParam Integer categoryId,@RequestParam String title,@RequestParam String context){
        System.out.println("发表新闻"+context);
        Result result = new Result();
        News news = new News(categoryId,userId,title,context);
        boolean flag = newsService.save(news);
        if (!flag){
            result.setFlag(false);
            return result;
        }
        result.setFlag(true);
        return result;
    }

这里我只给了controller的代码,还有service、dao的代码相信有基础的同学可以自行编写。

  • 8
    点赞
  • 32
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 5
    评论
【资源说明】 1、该资源包括项目的全部源码,下载可以直接使用! 2、本项目适合作为计算机、数学、电子信息等专业的课程设计、期末大作业和毕设项目,作为参考资料学习借鉴。 3、本资源作为“参考资料”如果需要实现其他功能,需要能看懂代码,并且热爱钻研,自行调试。 基于vue前端+springboot后端的考勤系统大作业(研究生java大作业).zip 基于vue前端+springboot后端的考勤系统大作业(研究生java大作业).zip 基于vue前端+springboot后端的考勤系统大作业(研究生java大作业).zip 基于vue前端+springboot后端的考勤系统大作业(研究生java大作业).zip 基于vue前端+springboot后端的考勤系统大作业(研究生java大作业).zip 基于vue前端+springboot后端的考勤系统大作业(研究生java大作业).zip 基于vue前端+springboot后端的考勤系统大作业(研究生java大作业).zip 基于vue前端+springboot后端的考勤系统大作业(研究生java大作业).zip 基于vue前端+springboot后端的考勤系统大作业(研究生java大作业).zip 基于vue前端+springboot后端的考勤系统大作业(研究生java大作业).zip 基于vue前端+springboot后端的考勤系统大作业(研究生java大作业).zip 基于vue前端+springboot后端的考勤系统大作业(研究生java大作业).zip 基于vue前端+springboot后端的考勤系统大作业(研究生java大作业).zip 基于vue前端+springboot后端的考勤系统大作业(研究生java大作业).zip 基于vue前端+springboot后端的考勤系统大作业(研究生java大作业).zip 基于vue前端+springboot后端的考勤系统大作业(研究生java大作业).zip 基于vue前端+springboot后端的考勤系统大作业(研究生java大作业).zip 基于vue前端+springboot后端的考勤系统大作业(研究生java大作业).zip 基于vue前端+springboot后端的考勤系统大作业(研究生java大作业).zip 基于vue前端+springboot后端的考勤系统大作业(研究生java大作业).zip 基于vue前端+springboot后端的考勤系统大作业(研究生java大作业).zip 基于vue前端+springboot后端的考勤系统大作业(研究生java大作业).zip 基于vue前端+springboot后端的考勤系统大作业(研究生java大作业).zip 基于vue前端+springboot后端的考勤系统大作业(研究生java大作业).zip 基于vue前端+springboot后端的考勤系统大作业(研究生java大作业).zip 基于vue前端+springboot后端的考勤系统大作业(研究生java大作业).zip 基于vue前端+springboot后端的考勤系统大作业(研究生java大作业).zip 基于vue前端+springboot后端的考勤系统大作业(研究生java大作业).zip 基于vue前端+springboot后端的考勤系统大作业(研究生java大作业).zip 基于vue前端+springboot后端的考勤系统大作业(研究生java大作业).zip 基于vue前端+springboot后端的考勤系统大作业(研究生java大作业).zip 基于vue前端+springboot后端的考勤系统大作业(研究生java大作业).zip 基于vue前端+springboot后端的考勤系统大作业(研究生java大作业).zip 基于vue前端+springboot后端的考勤系统大作业(研究生java大作业).zip 基于vue前端+springboot后端的考勤系统大作业(研究生java大作业).zip 基于vue前端+springboot后端的考勤系统大作业(研究生java大作业).zip 基于vue前端+springboot后端的考勤系统大作业(研究生java大作业).zip 基于vue前端+springboot后端的考勤系统大作业(研究生java大作业).zip 基于vue前端+springboot后端的考勤系统大作业(研究生java大作业).zip 基于vue前端+springboot后端的考勤系统大作业(研究生java大作业).zip 基于vue前端+springboot后端的考勤系统大作业(研究生java大作业).zip 基于vue前端+springboot后端的考勤系统

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 5
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

野er

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值