啊!!!好久没更新了,最近粉丝和访问量见长,正好有童鞋的项目遇到点问题,故出此文,

今天超哥给小伙伴带来的是vue中富文本编辑器上传的问题。

曾经写过一个文档管理的项目,用到最多的就是富文本编辑器。

说说遇到的坑吧:最终的提交结果,后端不要文档流,后端要上传成功返回的路径,不知道正在阅读此文的小伙伴是如何处理的,瞅着挺简单,但写起来还真有点麻烦,在这里以vue-quill-editor为例给大家演示。

首先安装,不用多说了吧,cnpm install vue-quill-editor -S

接着,引入依赖

import VueQuillEditor from 'vue-quill-editor';
import 'quill/dist/quill.core.css';
import 'quill/dist/quill.snow.css';
import 'quill/dist/quill.bubble.css';
Vue.use(VueQuillEditor)

先说一下实现过程吧,依赖element-ui,当然你可以想成你自己想要的上传插件,或者有大神可以直接new FormData()也是可以的。用白话文讲就是把插件中的图片按钮用el-upload覆盖,就这么简单。具体实现过程请继续往下看。

在所需的vue文件中

首先看DOM层,只需两个标签即可(quill-editor,el-upload)

附代码:

    <el-uploadclass="avatar-uploader":action="serverUrl"name="img":data='fileUpload':show-file-list="false":on-success="uploadSuccess":on-error="uploadError":before-upload="beforeUpload"></el-upload><quill-editor v-model="docContent"ref="myQuillEditor":options="editorOption"@blur="handleEditorBlur($event)"@focus="handleEditorFocus($event)"@change="handleEditorChange($event)"></quill-editor>

写过vue的相信el-upload大家都不陌生,在这里就不一一介绍各个属性了,而quill-editor这里超哥直接附上传送门vue-quill-editor - npm

数据层,附代码:

fileUpload:{   //附件上传file:null},
serverUrl: 'http://********',//上传图片的地址
editorOption: {placeholder: '',theme: 'snow',modules: {toolbar: {container: toolbarOptions,  // 工具栏handlers: {'image': function (value) {if (value) {document.querySelector('.avatar-uploader input').click()} else {this.quill.format('image', false);}}}}}},

看到这里有的小伙伴可能看到了重点,toolbarOptions是哪里来的,不要急,这个东西就是所需配置的工具栏,当时我们项目有回显功能所以超哥单独给他摘出来了。

toolbarOptions.js附代码:

const toolbarOptions = [['bold', 'italic', 'underline', 'strike'],        ['blockquote', 'code-block'],[{'header': 1}, {'header': 2}],               [{'list': 'ordered'}, {'list': 'bullet'}],[{'script': 'sub'}, {'script': 'super'}],      [{'indent': '-1'}, {'indent': '+1'}],         [{'direction': 'rtl'}],                         [{'size': ['small', false, 'large', 'huge']}], [{'header': [1, 2, 3, 4, 5, 6, false]}],[{'color': []}, {'background': []}],          [{'font': []}],[{'align': []}],['link', 'image', 'video'],['clean']
]
export default toolbarOptions

然后继续,逻辑层,附代码:

注:uploadSuccess为改写的重中之重。

    uploadError() {// loading动画消失this.quillUpdateImg = falsethis.$message.error('图片插入失败')},uploadSuccess(res, file){// 首先获取富文本编辑器的实例let quill = this.$refs.myQuillEditor.quill// 上传成功所执行if (res.code == 200 && res.data !== null) {// 获取光标所在位置let length = quill.getSelection().index;// 插入图片res为服务器返回的数据quill.insertEmbed(length, 'image', res.data)// 光标移动至文本末端quill.setSelection(length + 1)} else {this.$message.error('图片插入失败')}// loading动画消失this.quillUpdateImg = false},beforeUpload(file) {this.fileUpload.file=file;// 显示loading动画this.quillUpdateImg = true},handleEditorBlur () {},handleEditorFocus () {},//这个是当初做的个文字限制后来没用就注释了handleEditorChange (e) {/*this.textLen = e.text.length - 1;this.beyond = this.textLen - 350;if (this.textLen > 350) {this.info.evId = '';} else {this.info.evId = this.evList[0].evId;}*/},

到这里此工程其实就已经竣工,说简单也简单说复杂也复杂,全在自己的摸索和探讨。

有时候比较忙,顾不上一一回复,但是看到了就一定会回复,

各位小伙伴和童鞋有不明白的或者不会的依然可以留言...

依旧老样子,不喜勿喷,写给需要的人看,渣*请自觉绕道

vue富文本编辑器中上传图片相关推荐

  1. vue富文本编辑器中样式冲突和不能修改的问题

    在vue项目中,富文本回显通常采用的是v-html指令来渲染html字符串.但是在回显的过程中,发现了一些问题,以此记录下来. 1.富文本(tinyMec)在编辑的时候采用的是iframe隔离,这样的 ...

  2. vue 富文本编辑器kindeditor使用粘贴图片自动上传图片功能

    Kindeditor 的使用这里不再陈述,在KindEditor.create执行时,传入afterCreate方法,在afterCreate的方法里面进行图片上传的功能,这里使用的谷歌浏览器,其他浏 ...

  3. Vue 富文本编辑器插件 vue-quill-editor 坑!

    Vue3 + vue-quill-editor 安装步骤: vue3 安装vue-quill-editor npm install @vueup/vue-quill vue2 安装vue-quill- ...

  4. 富文本编辑器中空格转化为a_如何对富文本编辑器(FCK Html Editor)的工具栏进行扩展?...

    我们在项目开发过程中,会经常使用到富文本编辑器.GeneXus内置的富文本编辑器FCK Html Editor使用起来非常方便,只要将页面变量的控件类型(Control Type)选择为FCK Htm ...

  5. JavaScript Iframe富文本编辑器中的光标定位

    最近在项目中碰到一个比较棘手的问题: 在iframe富文本编辑器中,有个工具栏,这个工具栏在iframe标签之外,工具栏上有一个按钮,点击该按钮向iframe正在编辑中的光标处插入一个图片,图片会插入 ...

  6. js显示PHP源代码命令,layedit富文本编辑器中如何添加显示源码功能(代码)

    本篇文章给大家带来的内容是关于layedit 富文本编辑器中如何添加显示源码功能(代码),有一定的参考价值,有需要的朋友可以参考一下,希望对你有所帮助. 由于项目需要用到富文本编辑器,并且要有显示源码 ...

  7. flex html 控制编辑,在富文本编辑器中添加Tab键功能(Flex 3)

    我试图在使用事件keyDown的富文本编辑器中添加Tab键功能.只需要清楚,在标签键上,我需要将控件保留在前面带有'\ t'空格的同一个文本框中,而不是跳到下一个对象.我尝试的下面的代码完全适用于te ...

  8. vue使用WangEditor富文本编辑器(批量上传图片到服务器)

    最近要写一个官网,但是这个官网要写成活的可配置的项目,于是要先写一后台管理系统,用来配置官网的菜单和页面,配置菜单自然是vue+ElementUI表格表单的增删改查,但是配置页面就要有排版.样式等等, ...

  9. Vue富文本编辑器vue-quill-editor-使用-bug问题-教程

    vue-quill-editor npm install vue-quill-editor –save or yarn add vue-quill-editor 文件中使用 <template& ...

  10. vue-quill-editor 富文本编辑器 自定义上传图片

    ① 安装插件,以及引入插件 使用命令:npm install vue-quill-editor -S ② main.js 中引入 // 导入富文本编辑器 import VueQuillEditor f ...

最新文章

  1. python个人博客搭建说明书_技术分享|利用Python Django一步步搭建个人博客(二)...
  2. P4491 [HAOI2018]染色
  3. 仿基金查询输入框下拉筛选值效果(JavaScript)
  4. 二维vector的声明和初始化
  5. 张小龙内部分享:一个产品只能有一个主线功能
  6. 鼠标聚焦到Input输入框时,按回车键刷新页面原因及解决方法
  7. python中的itertools_在python中使用itertools操作csv数据
  8. tcode SMQS
  9. 为什么要使用Entity Framework
  10. 新型发明创造大赛计算机类,2017年发明杯全国高职高专大学生创新创业大赛
  11. “约见”面试官系列之常见面试题第二篇说说rem(建议收藏)
  12. 消息中间件学习总结(3)——RocketMQ之十分钟入门RocketMQ
  13. java 的泛型的嵌套_Java接口泛型的嵌套实现
  14. Android SDK上手指南:用户交互
  15. php对接监控摄像头源码,摄像头监控录像源代码 (详细的代码,可以直接使用,也可以拿来学习使用)...
  16. 统计|(可/无)重复双因素方差分析一般步骤及分析表
  17. Linux服务器键盘鼠标插口,关于Linux下鼠标键盘
  18. 敬业签手机便签App怎么解绑微信互联设置?
  19. 重磅!我组问卷调查结果公布
  20. 面向医疗数据的差分隐私保护

热门文章

  1. 通信原理 | 信道容量
  2. 一、TI毫米波雷达系列——硬件加速器(HWA)
  3. 交换机常用配置命令(华为)
  4. 二维傅里叶变换简化方式
  5. Unity 制作一个网格地图生成组件
  6. 通达OA2013完美平台补丁以及手机短信服务配置
  7. 由于应用程序配置不正确,应用程序未能启动 VS2008 Release /MD编译
  8. 安徽省滁州市谷歌卫星地图下载
  9. 递归构造格雷码c语言,递归构造格雷码
  10. php jquery alert 美化,jquery插件hiAlert实现网页对话框美化_jquery