十九、 富文档与redis存储图片信息

富文本编辑器保存网络图片到本地 简易的富文本编辑器保存网络图片到本地的方法,简单易懂易用 立即下载

列表文件

src\views\demo\jeecg\Native\one\OneNativeList.vue

<template #bodyCell="{ column, text, record }">

          <template v-if="column.dataIndex==='tupian'">

            <span v-if="!text" style="font-size: 12px; font-style: italic">无图片</span>

            <img v-else :src="getImgView(text)" :preview="record.id" alt="" class="anty-img-wrap" />

          </template>

          <template v-else-if="column.dataIndex==='wenjian'">

            <span v-if="!text" style="font-size: 12px; font-style: italic">无文件</span>

            <a-button v-else :ghost="true" type="primary" preIcon="ant-design:download" size="small" @click="downloadFile(text)"> 下载 </a-button>

          </template>

其中:

getImgView(text)--à getFileAccessHttpUrl(text)

在文件src\utils\common\compUtils.ts中的如下:访问路径/sys/common/static/

export const getFileAccessHttpUrl = (fileUrl, prefix = 'http') => {

  let result = fileUrl;

  try {

    if (fileUrl && fileUrl.length > 0 && !fileUrl.startsWith(prefix)) {

      //判断是否是数组格式

      let isArray = fileUrl.indexOf('[') != -1;

      if (!isArray) {

        let prefix = `${baseApiUrl}/sys/common/static/`;

        // 判断是否已包含前缀

        if (!fileUrl.startsWith(prefix)) {

          result = `${prefix}${fileUrl}`;

        }

      }

    }

  } catch (err) {}

  return result;

};

downloadFile(text)-à getFileAccessHttpUrl()

/**

 * 文件下载

 */

function downloadFile(url) {

  if (!url) {

    createMessage.warning('未知的文件');

    return;

  }

  if (url.indexOf(',') > 0) {

    url = url.substring(0, url.indexOf(','));

  }

  url = getFileAccessHttpUrl(url.split(',')[0]);

  if (url) {

    window.open(url);

  }

}

图片文件的显示和下载的后端响应contraller与《五十一》相同同

编辑页:


src\views\demo\jeecg\Native\one\components\OneNativeModal.vue

src\views\demo\jeecg\Native\one\components\OneNativeForm.vue

<a-col :span="24">

          <a-form-item label="文件" :labelCol="labelCol" :wrapperCol="wrapperCol" v-bind="validateInfos.wenjian">

            <JUpload v-model:value="formState.wenjian"></JUpload>

          </a-form-item>

        </a-col>

        <a-col :span="24">

          <a-form-item label="图片" :labelCol="labelCol" :wrapperCol="wrapperCol" v-bind="validateInfos.tupian">

            <JImageUpload :fileMax="2" v-model:value="formState.tupian"></JImageUpload>

          </a-form-item>

        </a-col>

Form表单先上传图片和文件并获得图片/文件路径,再提交表单时,提交和保存图片/文件路径,富文档就保存含有图片路径的html文档。

  const url = reactive<any>({

    duplicateCheck: '/sys/duplicate/check',

    add: '/test/jeecgDemo/oneNative/add',

    edit: '/test/jeecgDemo/oneNative/edit',

  });

后端响应:

@Slf4j
@Api
(tags = "单表DEMO")
@RestController
@RequestMapping
("/test/jeecgDemo")
public class JeecgDemoController extends JeecgController<JeecgDemo, IJeecgDemoService> {
   
@Autowired
   
private IJeecgDemoService jeecgDemoService;

@PostMapping("/oneNative/add")
public Result<String> oneNativeAdd(@RequestBody JSONObject jsonObject){
   
Object oneNative = redisUtil.get("one-native");
   
JSONObject nativeObject = new JSONObject();
   
JSONArray data = new JSONArray();
   
if(null != oneNative){
       
nativeObject = (JSONObject) oneNative;
       
data = nativeObject.getJSONArray("data");
    }

//新数据id值
    jsonObject.put("id", UUIDGenerator.generate());
   
data.add(jsonObject);//计入新数据
    nativeObject.put("data",data);
   
redisUtil.set("one-native",nativeObject);//存入redis数据库
    return Result.OK("添加成功");
}

Exchange 2013/2016/2019修改附件大小限制 Exchange 2013/2016/2019邮件大小限制 可以在三个位置上配置Exchange上的默认邮件大小限制: 组织传输设置 发送/接收连接器设置 用户邮箱设置 1.打开Exchange Management Shell 使用命令查看默认限制 get-transportconfig | ft maxsendsize, maxreceivesize get-receiveconnector | ft name, maxmessagesize get-sendconnector | ft 阅读详情

相关推荐

图像质量评估(9) -- 杂散光(Flare)的测量标准与实战解析

本文深入解析了杂散光(Flare)对图像质量的影响及其测量标准,包括ISO 9358和ISO 18844的核心方法。通过实战指南和优化策略,帮助读者掌握杂散光的测量与控制技术,提升光学系统性能。

sql99的博客 251

JeecgBoot/Ant Design of Vue前端开发之文件上传下载修改已上传文件列表展示页

JeecgBoot文件上传下载自定义展示功能

m0_58360569的博客 5306

Synopsys 逻辑综合之 ICG

文章摘要: ICG(集成时钟门控单元)是一种用于降低时钟功耗的专用逻辑单元,通过控制时钟信号的传播实现节能。其核心原理是在寄存器前插入门控逻辑(如gclk=clk&en),但需避免直接使用AND门以防止毛刺,转而采用带锁存器的专用ICG单元。在RTL设计中,符合条件(如稳定使能信号)的if(en)结构可被综合工具(如DesignCompiler)自动识别并替换为ICG。使用时需配置时序检查(如PrimeTime分析使能路径、门控时钟延迟),并注意避免组合逻辑使能、多级门控等误区。ICG是芯片低功耗设

Serven的博客 4352

vue2_二次封装a-upload组件,自定义上传预览

自定义上传组件

编程知识分享,主打前端 3万+

手把手教你驱动6脚三位一体数码管:从引脚分析到C语言扫描代码实战

本文详细解析了如何逆向工程并驱动6脚三位一体数码管的全过程,从引脚分析到C语言扫描代码实战。通过系统化的测试和优化,作者总结出一套高效的驱动架构和调试方法,适用于工业设备中的非标准数码管应用。

weixin_42632434的博客 213

【Tiny_CD】Tiny_CD变化检测网络详解(含python代码)

tiny-cd网络详解,含论文下载、代码下载地址。

向上生长的程序媛的博客 2161

Jeecg富文本编辑器上传视频无法预览解决

Jeecg富文本编辑器上传视频无法预览解决 jeecg使用的富文本编辑器是:tinyMCE富文本编辑器 tinyMCE中文文档:http://tinymce.ax-z.cn/ 参考: https://blog.youkuaiyun.com/QQ_Empire/article/details/107846057 https://blog.youkuaiyun.com/Sarahhoney12_/article/details/85629014 问题: 视频上传成功后,无法预览,通过查看标签元素发现video标签设置错误,内容为:

weixin_42611912的博客 2221

图注意力网络(GAT)原理与代码实战案例讲解

1. 背景介绍 图注意力网络(Graph Attention Network,简称GAT)是一种基于图神经网络(Graph Neural Networks,简称GNN)的深度学习方法。它能够处理具有复杂关系的节点数据,并在多个领域取得了显著的效果,如社交网络分析、推荐系统等。 2. 核心概念与联系

AI架构师小马 2715

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

可以看到图片的内容极其长,这是base64格式编码导致的,不过好处是当前端请求富文本内容时,如果一篇文章中有很多图片的话,浏览器不用多次发起图片请求,而是图片和文字一起发送到了前端。​还有一个方法是图片内容和文字内容分开上传,内容依旧是html格式,但是“”,这里的图片路径需要重写为图片上传后存储在服务器上的路径。​获取tinymce富文本编辑器的内容(html形式),通过axios发送到后端,后端接收到内容后直接存储到数据库。2、获取富文本编辑器的内容,并发送至后端。

qq_51415601的博客 1万+

600份国家自然基金申报书--模板

600份国家自然基金申报书--模板

需要远程指导仿真实验、代码有问题的,请后台私信或者关注公众号 4189

【Bluedroid】BLE连接过程详解

Bluedroid BLE的链接过程包括扫描、连接和通信三个基本步骤。通过这些步骤,中央设备和外围设备之间可以建立起稳定、高效的通信链路,实现数据传输和控制操作。

byte轻骑兵的技术小窝 1876

前端自己处理后端返回的照片

【代码】前端自己处理后端返回的照片。

zhu_liu_kun的博客 354

微信小程序- 云开发上传并部署云函数时报错ResourceNotFound.Function, 未找到函数版本,请创建后再试。(小程序上传部署云函数提示错误,开发控制台中的云函数没有删除,详细排查)

微信小程序——云函数上传失败,微信小程序——解决上传并部署云函数时报错ResourceNotFound.Function, 未找到函数版本,请创建后再试。微信小程序上传云函数失败,微信小程序云开发|Error: ResourceNotFound.FunctionName, FunctionName 指定的资源不存在。微信云开发报错(Error: ResourceNotFound.FunctionName,微信小程序云函数报错,上传云函数 sum 失败 Error:,上传部署我们的云函数 2. 报错 错误信息

🏆 前端领域优质创作者 4316

【课程设计】ssm大学生时间管理分析系统设计与实现毕业设计源码130930

本文以java为开发技术,实现了一个大学生时间管理分析系统。大学生时间管理分析系统的主要使用者分为管理员、以及用户;管理员功能分为:首页、站点管理(轮播图、公告栏)用户管理(管理员、普通用户)更多管理(每日打卡、计划行程、完成记录、我的积分、收入记录、支出记录、购换信息、积分商城)。用户:首页、每日打卡、计划行程、完成记录、我的积分、收入记录、支出记录、购换信息等功能,通过这些功能模块的设计,基本上实现了整个时间管理的过程

专业程序开发源的博客 2964

怀旧版电脑GBC模拟器

再现原版GBC掌机的界面,电脑运行连游戏界面都一样大小,很怀旧,很真实,(英文版)强烈推荐,很小的文件,很难才找到的。

Camera2Demo

在Camera2 的基础上进行封装,使得Camera2一堆初始化逻辑与Activity分离,降低耦合度,完成预览拍照并保存的操作

百度Ueditor富文本编辑器基础使用配置以及怎样保存图片到磁盘

1.下载ueditor,地址:http://ueditor.baidu.com/website/download.html2.我下载的是jsp版本的3.下载后直接解压后,把整个文件夹下面的东西全部放到一个目录下,我放在了ueditor文件夹下。4.之后会报错,因为没有相应的jar包。打开jsp文件夹,会有一个lib文件夹,把整个lib文件夹复制到WEB-INF下,然后builepath一下,注意,...

weixin_42134685的博客 8557

最新的sdio 4.0 spec 协议标准 带书签 高清完整PDF版

Part-E1-SDIO-Specification-Ver4.00-Final-120220.pdf:最新的sdio 4.0 spec 协议标准 带书签 高清完整PDF版,包括SDIO 接口的外设,SDIO 接口官方协议等。

基于阿里Ant Design of Vue的上传组件二次封装

目前参与的项目使用的UI库是阿里的Ant Design of Vue 由于项目中多处要用到上传组件,又不想每次照着官网的上传组件复制多次上传、删除、查看图片事件,因为可能需要多次修改,所以自己进行了二次封装,将上传单张(上传头像需求)和多张弄到一起 <template> <div> <a-upload :action="uploadAction" list-type="picture-card" :disabled="disabled"

weixin_43056561的博客 2203

Statistics and Machine Learning Toolbox

Statistics and Machine Learning Toolbox(带书签),MATLAB统计学习工具

Jeecg-boot常见漏洞汇总

在网络安全的世界里,停止学习就意味着落后,共勉!

yy1715713348的博客 2816

【漏洞复现】CVE-2022-45206 & CVE-2023-38905 SQL Injection

Jeecg-boot v3.4.3 was discovered to contain a SQL injection vulnerability via the component /sys/duplicate/check.

Mitchell_Donovan的博客 3031

java处理富文本图片保存数据库

java富文本内容处理

Cloud 6407

Ant design vue的表格双击编辑功能(即双击开始编辑并自动获得焦点,失去焦点时完成编辑)

Ant design vue的表格双击编辑,失去焦点完成编辑

就在昨天之技术点滴 2224

oracle通过duplicate异机恢复rman备份

实用小技巧-通过duplicate恢复rman备份并实现自动重命名数据文件路径

huiyangxu blog 1938

Vue 实现Redis管理页面

一、效果图 二、准备工作       1、所需接口       /redis-manage/del-key   -&gt;   删除指定的key,用于删除单个缓存       /redis-manage/del-keys   -&gt;   删除多个key,用于清空缓存       /redis-manage/info   -&gt;   获取Redis信息       /re...

Wjhsmart的博客 8757

antDesignofVue框架富文本JEditor组件上传图片以url的方式存储

1.在页面引用JEditor组件 import JEditor from '@/components/jeecg/JEditor' components: { JEditor, }, 2.编写页面代码 以上代码文档中都有不做过多解释 3.在JEditor组件页面设置上传图片到后端以url的方式进行存储并返回 这一步与之前写过的一篇vue页面quillEditor组件富文...

qq_39252591的博客 3317

IEMS_10_项目初始数据的导入

系统初始数据的导入

qq_53174491的博客 521

基于jeecgboot的flowable流程支持online表单(三)

基于jeecgboot的flowable流程支持online表单(三) 这部分主要是实现online表单的各种形式表单,包括主从表表单,同时录入采用现有官方的模式录入数据,通过选择已有数据的方式进行流程申请与审批,免去各种录入组件等兼容性问题。

宁波阿成的博客 2174

VUE参数划分

VUE的指令与过滤器filter 过滤器Fileters:常用于文本格式化。过滤器可以用在两个地方:1.插值表达式。 2.v-bind绑定器 <p>{{message|capitalize}}</p> <!--formatId为过滤器 --> <div v-bind:id="rawId|formatId"></div> 定义私有过滤器 const vm = new Vue({ el:'#app', data:{ message:'he

m0_56396386的博客 557
上一篇: 十八、 富文本编辑器与图片上传功能
下一篇: 二十、 ApiTreeSelect用法:总是加载刷新数据
bbill
博客等级 码龄16年 242粉丝 28原创
评论 1
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值