| |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
-> JavaScript知识库 -> vue使用tinymce 图文粘贴 图片大小 自动上传到本地服务 -> 正文阅读 |
|
[JavaScript知识库]vue使用tinymce 图文粘贴 图片大小 自动上传到本地服务 |
??????? tinymce基本的图片上传和文本已经很多人写过了,这里放一个中文文档 TinyMCE中文文档中文手册http://tinymce.ax-z.cn/??????? 项目中遇到需求能够让粘贴进来的图片上传到我们自己的服务器上,而不是单纯的引用一个连接,还有一个问题是同时粘贴进来的图文生成的图片标签是没有宽度和高度的,以下是解决方案。 ??????? 单纯需要单图片复制自动上传的话只需要加一个配置
???????? 以下有两种粘贴内容的来源,一种是从word中复制图文一种是从网页中复制图文 ????????同时我们需要另外一个插件叫powerpaste
贴一个插件下载的地址
一、从word中复制图文粘贴进富文本 我只粘贴关键的配置,具体配置相关内容请参考文档 要注意的是从word中图文一起复制后blobInfo.blob()返回的就不是File实例而是Blob实例,我这里用的是原型判断,因为后端的上传接口接受的是File所以将blob转换为File
?word中复制的图文,图片会自动生成大小,但是单独复制的图片没有,后面再处理 边写代码变看文档,貌似是没有html图文上传自动上传图片到服务器的配置,但是有粘贴回调 查阅了半天,老是想着用回调自己给我解决反而浪费了不少时间,下面介绍一下所有复制粘贴的图片生成的img没有宽高的解决方法,这边感谢一下这位作者的思路https://blog.csdn.net/weixin_41442779/article/details/108800954 一、配置粘贴回调事件由于tinymce的这些回调都是不支持异步的,所以任何使用异步的手段修改args.content方法都是无效的,所以我们选择直接修改tinymce内容绑定的value
二、getImageSize方法
三、自动上传到自己的服务器??????? 通过配置白名单然后在回调函数与getimagesize方法中过滤掉已经在自己服务器上的图片同样通过promise可以很轻松的完成上传,再根据id替换url就很简单了,由于添加powerpaste插件后再配置一下word粘贴的图文和单独的图片都会自动上传,具体网页url上传就不赘述,如上的方法就可以实现。 四、一点坑??????? 老想着用回调走了很多弯路,切记,tinymce回调不支持异步 一开始看粘贴回调和url过滤回调不同不是用return 而是args.content=的形式赋值抱了不必要的期望,把字符串解析为标签树,然后用promise给标签树加上宽高再转回字符串,发现这种赋值根本不生效..... 然后想着把args,content和总的value比对进行replace,竟然!!!!!!!!!!!!!!! 竟然不一致!,因为我使用了entity_encoding: "row",富文本只会转义必要的内容,而args.content里头居然会有$nbsp;而粘贴后的原文里不会转义,导致根本查不到,而且粘贴后的文本和args.content的格式也会有一些变化,所以不可以用args.content去总的value里查找替换 |
|
JavaScript知识库 最新文章 |
ES6的相关知识点 |
react 函数式组件 & react其他一些总结 |
Vue基础超详细 |
前端JS也可以连点成线(Vue中运用 AntVG6) |
Vue事件处理的基本使用 |
Vue后台项目的记录 (一) |
前后端分离vue跨域,devServer配置proxy代理 |
TypeScript |
初识vuex |
vue项目安装包指令收集 |
|
上一篇文章 下一篇文章 查看所有文章 |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 | -2024/11/24 7:44:59- |
|
网站联系: qq:121756557 email:121756557@qq.com IT数码 |