若依微服务项目在使用富文本框的时候,富文本加入图片进行保存的时候会出现以下错误:
JSON parse error: Unexpected character (‘/’ (code 47)): maybe a (non-standard) comment? (not recognized as one since Feature ‘ALLOW_COMMENTS’ not enabled for parser); nested exception is com.fasterxml.jackson.core.JsonParseException: Unexpected character (‘/’ (code 47)): maybe a (non-standard) comment? (not recognized as one since Feature ‘ALLOW_COMMENTS’ not enabled for parser) at [Source: (org.springframework.util.StreamUtils$NonClosingInputStream); line: 1, column: 152]
针对这个问题,目前有两种解决方案
若依官方问题解决:https://doc.ruoyi.vip/ruoyi-cloud/other/faq.html#特殊字符串被过滤的解决办法
若依的微服务使用了nacos
1.打开nacos,找到ruoyi-gateway-dev.yml
配置文件,
2.然后找到security.xss.excludeUrls
然后再后面加入调用的接口,进行排除
方法直接了当,不过不怎么安全,因为这本来就是防止xss攻击的,这里给接口放开了
vue对上传的富文本数据进行加密操作,后台进行解密操作(使用中)
因为若依后台带有best64工具类,前端这里直接安装
npm install --save js-base64
// 加密
Base64.encode(data);
// 解密
Base64.decode(data);
若依Base64工具类在safety-common-core模块下
Ruoyi-Cloud\ruoyi-common\ruoyi-common-core\src\main\java\com\ruoyi\common\core\utils\sign
我这里只把富文本数据进行加密了,后台解密如下
// str 解密后的数据
// data 前台传来的加密数据
String str = new String(Base64.decode(data));
这样就直接完成了。