ckeditor5上传配置 ckeditor5图片上传功能 富文本编辑器图片上传功能

2024-03-19 06:08

本文主要是介绍ckeditor5上传配置 ckeditor5图片上传功能 富文本编辑器图片上传功能,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

ckeditor5的上传图片的方式(文档编辑器)
		将图像插入使用CKEditor 5创建的内容是一项非常常见的任务。在正确配置的富文本编辑器中,最终用户可以通过多种方式插入图像:- 从剪贴板粘贴它。 		- 从文件系统中拖动文件。 		- 通过文件系统对话框选择它。 		- 从应用程序中的媒体管理工具中选择它。排除最后一个选项,所有其他方式都要求将图像上载到服务器。然后,服务器将负责提供CKEditor 5用于在文档中显示图像的图像URL。
具体效果展示

在这里插入图片描述

具体代码
//upload.js中
class MyUploadAdapter {constructor( loader ) {// 要在上载期间使用的文件加载器实例this.loader = loader;}// 启动上载过程upload() {return this.loader.file.then( file => new Promise( ( resolve, reject ) => {this._initRequest();this._initListeners( resolve, reject, file );this._sendRequest( file );} ) );}// 中止上载过程abort() {if ( this.xhr ) {this.xhr.abort();}}// 使用传递给构造函数的URL初始化XMLHttpRequest对象._initRequest() {const xhr = this.xhr = new XMLHttpRequest();xhr.open( 'POST', 'http://123.57.206.125:9071/manage/b/plugin/upload', true );xhr.responseType = 'json';}// 初始化 XMLHttpRequest 监听._initListeners( resolve, reject, file ) {const xhr = this.xhr;const loader = this.loader;const genericErrorText = `无法上传文件: ${ file.name }.`;xhr.addEventListener( 'error', () => reject( genericErrorText ) );xhr.addEventListener( 'abort', () => reject() );xhr.addEventListener( 'load', () => {const response = xhr.response;// 当code==200说明上传成功,可以增加弹框提示;// 当上传失败时,必须调用reject()函数。if ( !response || response.error ) {return reject( response && response.error ? response.error.message : genericErrorText );}//上传成功,从后台获取图片的url地址resolve( {default: response.url} );} );// 支持时上传进度。文件加载器有#uploadTotal和#upload属性,用于在编辑器用户界面中显示上载进度栏。if ( xhr.upload ) {xhr.upload.addEventListener( 'progress', evt => {if ( evt.lengthComputable ) {loader.uploadTotal = evt.total;loader.uploaded = evt.loaded;}} );}}// 准备数据并发送请求_sendRequest( file ) {//通过FormData构造函数创建一个空对象const data = new FormData();//通过append()方法在末尾追加key为files值为file的数据data.append( 'files', file );//上传的参数data// data.append( 'memberId', "666" );/*** 重要提示:这是实现诸如身份验证和CSRF保护等安全机制的正确位置。* 例如,可以使用XMLHttpRequest.setRequestHeader()设置包含应用程序先前生成的CSRF令牌的请求头。*/this.xhr.send( data );}
}function MyCustomUploadAdapterPlugin( editor ) {editor.plugins.get( 'FileRepository' ).createUploadAdapter = ( loader ) => {// 在这里将URL配置为后端上载脚本return new MyUploadAdapter( loader );};
}export {MyUploadAdapter,MyCustomUploadAdapterPlugin
}
编辑器页面
		const upload = require('../assets/upload')//此处不全,只有编辑器上传配置,如需完整编辑器配置代码,请点击下方链接editorConfig: {// 编辑器的配置language: 'zh-cn',  // 中文extraPlugins: [ upload.MyCustomUploadAdapterPlugin ],}
如需编辑器配置及上传完整代码,点击下方链接

https://github.com/taurus888/ckeditor5-vue.git

如有疑问,欢迎 交流(*^__^*) ……

这篇关于ckeditor5上传配置 ckeditor5图片上传功能 富文本编辑器图片上传功能的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/825035

相关文章

Nacos注册中心和配置中心的底层原理全面解读

《Nacos注册中心和配置中心的底层原理全面解读》:本文主要介绍Nacos注册中心和配置中心的底层原理的全面解读,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录临时实例和永久实例为什么 Nacos 要将服务实例分为临时实例和永久实例?1.x 版本和2.x版本的区别

如何搭建并配置HTTPD文件服务及访问权限控制

《如何搭建并配置HTTPD文件服务及访问权限控制》:本文主要介绍如何搭建并配置HTTPD文件服务及访问权限控制的问题,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录一、安装HTTPD服务二、HTTPD服务目录结构三、配置修改四、服务启动五、基于用户访问权限控制六、

CentOS 7 YUM源配置错误的解决方法

《CentOS7YUM源配置错误的解决方法》在使用虚拟机安装CentOS7系统时,我们可能会遇到YUM源配置错误的问题,导致无法正常下载软件包,为了解决这个问题,我们可以替换YUM源... 目录一、备份原有的 YUM 源配置文件二、选择并配置新的 YUM 源三、清理旧的缓存并重建新的缓存四、验证 YUM 源

Windows 系统下 Nginx 的配置步骤详解

《Windows系统下Nginx的配置步骤详解》Nginx是一款功能强大的软件,在互联网领域有广泛应用,简单来说,它就像一个聪明的交通指挥员,能让网站运行得更高效、更稳定,:本文主要介绍W... 目录一、为什么要用 Nginx二、Windows 系统下 Nginx 的配置步骤1. 下载 Nginx2. 解压

VS配置好Qt环境之后但无法打开ui界面的问题解决

《VS配置好Qt环境之后但无法打开ui界面的问题解决》本文主要介绍了VS配置好Qt环境之后但无法打开ui界面的问题解决,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要... 目UKeLvb录找到Qt安装目录中designer.UKeLvBexe的路径找到vs中的解决方案资源

windows系统上如何进行maven安装和配置方式

《windows系统上如何进行maven安装和配置方式》:本文主要介绍windows系统上如何进行maven安装和配置方式,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不... 目录1. Maven 简介2. maven的下载与安装2.1 下载 Maven2.2 Maven安装2.

c/c++的opencv实现图片膨胀

《c/c++的opencv实现图片膨胀》图像膨胀是形态学操作,通过结构元素扩张亮区填充孔洞、连接断开部分、加粗物体,OpenCV的cv::dilate函数实现该操作,本文就来介绍一下opencv图片... 目录什么是图像膨胀?结构元素 (KerChina编程nel)OpenCV 中的 cv::dilate() 函

Apache 高级配置实战之从连接保持到日志分析的完整指南

《Apache高级配置实战之从连接保持到日志分析的完整指南》本文带你从连接保持优化开始,一路走到访问控制和日志管理,最后用AWStats来分析网站数据,对Apache配置日志分析相关知识感兴趣的朋友... 目录Apache 高级配置实战:从连接保持到日志分析的完整指南前言 一、Apache 连接保持 - 性

Druid连接池实现自定义数据库密码加解密功能

《Druid连接池实现自定义数据库密码加解密功能》在现代应用开发中,数据安全是至关重要的,本文将介绍如何在​​Druid​​连接池中实现自定义的数据库密码加解密功能,有需要的小伙伴可以参考一下... 目录1. 环境准备2. 密码加密算法的选择3. 自定义 ​​DruidDataSource​​ 的密码解密3

MySQL 安装配置超完整教程

《MySQL安装配置超完整教程》MySQL是一款广泛使用的开源关系型数据库管理系统(RDBMS),由瑞典MySQLAB公司开发,目前属于Oracle公司旗下产品,:本文主要介绍MySQL安装配置... 目录一、mysql 简介二、下载 MySQL三、安装 MySQL四、配置环境变量五、配置 MySQL5.1