vue 调取本地wps_vue中使用ckeditor,支持wps,word,网页粘贴
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,网页粘贴相关推荐
- vue中使用ckeditor,支持wps,word,网页粘贴
图片的复制无非有两种方法,一种是图片直接上传到服务器,另外一种转换成二进制流的base64码 目前限chrome浏览器使用 首先以um-editor的二进制流保存为例: 打开umeditor.js,找 ...
- Vue由本地js中存放的url地址获取图片
Vue由本地js中存放的url地址获取图片 对象必须放在js中(而不是json里面,json没有require).如果是在json中,需要采用其他方式去获取 注意:url地址必须用这种形式,有requ ...
- vue 调取本地wps_详解VUE调用本地json的使用方法
开始的时候我以为,用vue去调取json要多么的麻烦,完咯就先去的百度,找了几个,看上面又要配置这配置那的,看的我都头大,像一些思维逻辑清晰的肯定不会出现这种情况. 下面我说下我这的情况,大家依情况代 ...
- 富文本编辑器tinymce支持从word复制粘贴保留格式和图片的插件powerpaste
公司做的项目需要用到粘贴Word功能.就是将word内容一键粘贴到网页编辑器(在线富文本编辑器)中.Chrome+IE默认支持粘贴剪切板中的图片,但是我要粘贴的文章存在word里面,图片多达数十张,我 ...
- vue 调取本地wps_【解决方案】vue生成文件本地打开查看效果
问题描述: npm run build 后dist文件夹下面直接浏览器打开index.html,css和js的路径都不正确. 放到跟目录下就正常了. 问题解决: 打开项目所在文件夹里面的 config ...
- 去掉Word2007中的软回车(从网页粘贴文字的一些编辑)
一 删除 Word2007中向下箭头的符号(软回车符号 shift+enter) 1.软回车替换成硬回车:点击菜单栏中的"开始"→"替换"(F5) ...
- html5 js保存token,vue生成token并保存到本地存储中
这篇文章主要为大家详细介绍了vue生成token并保存到本地存储中,具有一定的参考价值,可以用来参考一下. 感兴趣的小伙伴,下面一起跟随512笔记的小编两巴掌来看看吧! 首先回顾一下token: to ...
- vue缓存服务器文件到本地,vue中,在本地缓存中读写数据的方法
1.安装good-storage插件 cnpm i good-storage --save 2.读/写的方法 common/js/cache.js: import storage from 'good ...
- 在maven 2工程中加入iTextAsian支持(maven添加自定义jar包到本地仓库)
最近需要在工程中加入JasperReports,其中要用到把报表导出为pdf文件的功能.JasperReports内部使用iText来输出pdf文档,而iText对中文是放在单独的包iTextAsia ...
最新文章
- ^l手动换行符 ^p段落标记符 /n/r_/n
- opencv打开raw格式图像
- c语言程序可以单独编译,c语言中的函数可不可以单独进行编译?_后端开发
- STL容器汇总(二)
- HBase: Thrift写数据报错——socket.error: [Errno 32] Broken pip
- 海思3559AV100上运行自己训练的yolov3
- azure db 设置时区_使用Azure Cosmos DB开始您的旅程
- MariaDB安装教程(保姆级)
- gimp中文版下载 | GIMP(专业图像处理软件)官方中文版V2.10.30 | GIMP图片编辑器中文版下载
- A Survey on Conversational Recommender Systems
- maven 使用本地库
- 开源并“免费”的Linux平台DAW——Ardour 4.0发布
- 软件外包的合同要怎么签?
- 千纸鹤(小纸片)全套源码
- C语言:输入一个数,输出以该值为半径的圆面积,以该值为半径的球体表面积与体积,pi取值3.1415926536.
- Linux下更改时间、时区
- linux云计算架构师:搭建DHCP服务和NTP网络时间同步
- 旋转编码器消抖程序设计
- 可视化脑洞|1896年以来奥运奖牌数据背后的故事
- Azure 开发者新闻快讯丨开发者8月大事记一览
热门文章
- 新版UI抖音短视频点赞任务系统源码+大转盘机器人
- Python pandas 读取文件——读取具有明显分隔符的数据
- Invalid ROM Table解决办法
- 文件分隔符 ‘/‘(斜杠) 和 ‘\‘(反斜杠) 的使用
- 指数蛙解说印度穷人是如何跪舔富人的
- c语言fgets用法,C语言文件操作中fgets与fputs函数讲解
- 第十七章 料敌制胜的促销管理
- 一键去除开发者模式提示
- 架构师修炼系列【微内核架构】
- 用计算机弹出音乐谱,抖音计算器音乐乐谱有哪些?抖音计算器弹奏简谱音乐大全[多图]...