ckeditor5官网目前不支持wps的图片粘贴,但可以通过修改源码实现。

This is the initial editor content.

const ZZ_HTTP = process.env.NODE_ENV === 'development' ? /^http:\/\/192.168.1.205/ : /^http:\/\/线上地址/

let IS_UPLOAD = false

export default {

name: 'my-quill-edit',

data () {

return {

editor: null,//编辑器实例

};

},

model: {

prop: 'modelData',

event: 'modelChage'

},

props: {

modelData: {

type: String,

default: ''

},

disabled: {

type: Boolean,

default: false

}

},

created () {

this.value2 = this.modelData

setTimeout(() => {

this.$nextTick(() => {

this.initCKEditor()

})

}, 500);

},

mounted () {

},

methods: {

initCKEditor () {

if (this.disabled) return

let _this = this;

class UploadAdapter {

constructor(loader) {

this.loader = loader;

}

async upload () {

//重置上传路径

// let fileName = 'goods' + this.loader.file.lastModified;

//  var fileName = 'goods' + this.loader.file.lastModified

// 通过 FormData 对象上传文件

let file = await this.loader.file

return new Promise((resolve, reject) => {

let formData = new FormData();

formData.append('files', file);

_this.$api.ckeditImageUpload3(formData).then(res => {

// let resData = res[0]

// resData.default = res[0].filePath;

if (res) {

resolve({

default: res[0].filePath

});

} else {

resolve({

default: ''

});

}

}).catch(error => {

reject(error)

return false

})

})

// _this.$axios.post(_this.$url.uploadUrl, formData).then(rs => {

//  if (rs) {

//    console.log(rs.filePath);

//  }

// });

// client().put(fileName, this.loader.file).then(result => {

//  console.log(result);

//  resolve({

//    default: result.url

//  })

// }).catch(err => {

//  console.log(err)

// })

}

abort () {

}

}

ClassicEditor.create(document.querySelector('#editor'), {

ckfinder: {

// uploadUrl: this.$url.uploadUrl

//后端处理上传逻辑返回json数据,包括uploaded(选项true/false)和url两个字段

}

}).then(editor => {

const toolbarContainer = document.querySelector('#toolbar-container');

toolbarContainer.appendChild(editor.ui.view.toolbar.element);

// 加载适配器

editor.plugins.get('FileRepository').createUploadAdapter = (loader) => {

return new UploadAdapter(loader);

}

this.editor = editor //将编辑器保存起来,用来随时获取编辑器中的内容等,执行一些操作

editor.setData(this.modelData || '')

editor.model.document.on('change:data', (eventInfo, name, value, oldValue) => {

// this.value = this.editor.getData()

this.handleImage(this.editor.getData())

this.$emit('modelChage', this.editor.getData())

});

}).catch(error => {

console.error(error);

});

},

handleImage (val) {

var imgReg = /|\/>)/gi

var srcReg = /src=[\'\"]?([^\'\"]*)[\'\"]?/i

var arr = val.match(imgReg)

let array = []

if (arr) {

for (var i = 0; i < arr.length; i++) {

var src = arr[i].match(srcReg)

// 获取图片地址

if (!src) return false

if (src && src[1] && !src[1].match(ZZ_HTTP)) {

array.push(src[1])

}

}

}

if (array[0]) {

this.uploadImage(array)

}

},

uploadImage (array) {

this.$api.ckeditImageUpload({ urlList: array }).then(res => {

if (res) {

let newVal = this.editor.getData()

let str = ''

res.forEach(item => {

newVal = newVal.replace(item.oldUrl, item.newUrl)

})

// this.editor.destroy(true);//销毁编辑器

this.editor.setData(newVal)

}

})

}

}

}

.ck.ck-editor__editable_inline {

max-height: 500px !important;

overflow-x: hidden !important;

}

#editor .ck-blurred.ck {

height: 400px;

}

.look {

max-height: 500px;

overflow-x: hidden;

}

vue 调取本地wps_vue中使用ckeditor,支持wps,word,网页粘贴相关推荐

  1. vue中使用ckeditor,支持wps,word,网页粘贴

    图片的复制无非有两种方法,一种是图片直接上传到服务器,另外一种转换成二进制流的base64码 目前限chrome浏览器使用 首先以um-editor的二进制流保存为例: 打开umeditor.js,找 ...

  2. Vue由本地js中存放的url地址获取图片

    Vue由本地js中存放的url地址获取图片 对象必须放在js中(而不是json里面,json没有require).如果是在json中,需要采用其他方式去获取 注意:url地址必须用这种形式,有requ ...

  3. vue 调取本地wps_详解VUE调用本地json的使用方法

    开始的时候我以为,用vue去调取json要多么的麻烦,完咯就先去的百度,找了几个,看上面又要配置这配置那的,看的我都头大,像一些思维逻辑清晰的肯定不会出现这种情况. 下面我说下我这的情况,大家依情况代 ...

  4. 富文本编辑器tinymce支持从word复制粘贴保留格式和图片的插件powerpaste

    公司做的项目需要用到粘贴Word功能.就是将word内容一键粘贴到网页编辑器(在线富文本编辑器)中.Chrome+IE默认支持粘贴剪切板中的图片,但是我要粘贴的文章存在word里面,图片多达数十张,我 ...

  5. vue 调取本地wps_【解决方案】vue生成文件本地打开查看效果

    问题描述: npm run build 后dist文件夹下面直接浏览器打开index.html,css和js的路径都不正确. 放到跟目录下就正常了. 问题解决: 打开项目所在文件夹里面的 config ...

  6. 去掉Word2007中的软回车(从网页粘贴文字的一些编辑)

    一  删除 Word2007中向下箭头的符号(软回车符号 shift+enter)     1.软回车替换成硬回车:点击菜单栏中的"开始"→"替换"(F5)  ...

  7. html5 js保存token,vue生成token并保存到本地存储中

    这篇文章主要为大家详细介绍了vue生成token并保存到本地存储中,具有一定的参考价值,可以用来参考一下. 感兴趣的小伙伴,下面一起跟随512笔记的小编两巴掌来看看吧! 首先回顾一下token: to ...

  8. vue缓存服务器文件到本地,vue中,在本地缓存中读写数据的方法

    1.安装good-storage插件 cnpm i good-storage --save 2.读/写的方法 common/js/cache.js: import storage from 'good ...

  9. 在maven 2工程中加入iTextAsian支持(maven添加自定义jar包到本地仓库)

    最近需要在工程中加入JasperReports,其中要用到把报表导出为pdf文件的功能.JasperReports内部使用iText来输出pdf文档,而iText对中文是放在单独的包iTextAsia ...

最新文章

  1. ^l手动换行符 ^p段落标记符 /n/r_/n
  2. opencv打开raw格式图像
  3. c语言程序可以单独编译,c语言中的函数可不可以单独进行编译?_后端开发
  4. STL容器汇总(二)
  5. HBase: Thrift写数据报错——socket.error: [Errno 32] Broken pip
  6. 海思3559AV100上运行自己训练的yolov3
  7. azure db 设置时区_使用Azure Cosmos DB开始您的旅程
  8. MariaDB安装教程(保姆级)
  9. gimp中文版下载 | GIMP(专业图像处理软件)官方中文版V2.10.30 | GIMP图片编辑器中文版下载
  10. A Survey on Conversational Recommender Systems
  11. maven 使用本地库
  12. 开源并“免费”的Linux平台DAW——Ardour 4.0发布
  13. 软件外包的合同要怎么签?
  14. 千纸鹤(小纸片)全套源码
  15. C语言:输入一个数,输出以该值为半径的圆面积,以该值为半径的球体表面积与体积,pi取值3.1415926536.
  16. Linux下更改时间、时区
  17. linux云计算架构师:搭建DHCP服务和NTP网络时间同步
  18. 旋转编码器消抖程序设计
  19. 可视化脑洞|1896年以来奥运奖牌数据背后的故事
  20. Azure 开发者新闻快讯丨开发者8月大事记一览

热门文章

  1. 新版UI抖音短视频点赞任务系统源码+大转盘机器人
  2. Python pandas 读取文件——读取具有明显分隔符的数据
  3. Invalid ROM Table解决办法
  4. 文件分隔符 ‘/‘(斜杠) 和 ‘\‘(反斜杠) 的使用
  5. 指数蛙解说印度穷人是如何跪舔富人的
  6. c语言fgets用法,C语言文件操作中fgets与fputs函数讲解
  7. 第十七章 料敌制胜的促销管理
  8. 一键去除开发者模式提示
  9. 架构师修炼系列【微内核架构】
  10. 用计算机弹出音乐谱,抖音计算器音乐乐谱有哪些?抖音计算器弹奏简谱音乐大全[多图]...