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

相关文章

深度解析Spring Security 中的 SecurityFilterChain核心功能

《深度解析SpringSecurity中的SecurityFilterChain核心功能》SecurityFilterChain通过组件化配置、类型安全路径匹配、多链协同三大特性,重构了Spri... 目录Spring Security 中的SecurityFilterChain深度解析一、Security

SpringBoot多环境配置数据读取方式

《SpringBoot多环境配置数据读取方式》SpringBoot通过环境隔离机制,支持properties/yaml/yml多格式配置,结合@Value、Environment和@Configura... 目录一、多环境配置的核心思路二、3种配置文件格式详解2.1 properties格式(传统格式)1.

Debian系和Redhat系防火墙配置方式

《Debian系和Redhat系防火墙配置方式》文章对比了Debian系UFW和Redhat系Firewalld防火墙的安装、启用禁用、端口管理、规则查看及注意事项,强调SSH端口需开放、规则持久化,... 目录Debian系UFW防火墙1. 安装2. 启用与禁用3. 基本命令4. 注意事项5. 示例配置R

PyCharm中配置PyQt的实现步骤

《PyCharm中配置PyQt的实现步骤》PyCharm是JetBrains推出的一款强大的PythonIDE,结合PyQt可以进行pythion高效开发桌面GUI应用程序,本文就来介绍一下PyCha... 目录1. 安装China编程PyQt1.PyQt 核心组件2. 基础 PyQt 应用程序结构3. 使用 Q

Redis MCP 安装与配置指南

《RedisMCP安装与配置指南》本文将详细介绍如何安装和配置RedisMCP,包括快速启动、源码安装、Docker安装、以及相关的配置参数和环境变量设置,感兴趣的朋友一起看看吧... 目录一、Redis MCP 简介二、安www.chinasem.cn装 Redis MCP 服务2.1 快速启动(推荐)2.

Spring Boot配置和使用两个数据源的实现步骤

《SpringBoot配置和使用两个数据源的实现步骤》本文详解SpringBoot配置双数据源方法,包含配置文件设置、Bean创建、事务管理器配置及@Qualifier注解使用,强调主数据源标记、代... 目录Spring Boot配置和使用两个数据源技术背景实现步骤1. 配置数据源信息2. 创建数据源Be

Java实现预览与打印功能详解

《Java实现预览与打印功能详解》在Java中,打印功能主要依赖java.awt.print包,该包提供了与打印相关的一些关键类,比如PrinterJob和PageFormat,它们构成... 目录Java 打印系统概述打印预览与设置使用 PageFormat 和 PrinterJob 类设置页面格式与纸张

MySQL 8 中的一个强大功能 JSON_TABLE示例详解

《MySQL8中的一个强大功能JSON_TABLE示例详解》JSON_TABLE是MySQL8中引入的一个强大功能,它允许用户将JSON数据转换为关系表格式,从而可以更方便地在SQL查询中处理J... 目录基本语法示例示例查询解释应用场景不适用场景1. ‌jsON 数据结构过于复杂或动态变化‌2. ‌性能要

Spring Boot Maven 插件如何构建可执行 JAR 的核心配置

《SpringBootMaven插件如何构建可执行JAR的核心配置》SpringBoot核心Maven插件,用于生成可执行JAR/WAR,内置服务器简化部署,支持热部署、多环境配置及依赖管理... 目录前言一、插件的核心功能与目标1.1 插件的定位1.2 插件的 Goals(目标)1.3 插件定位1.4 核

RabbitMQ消息总线方式刷新配置服务全过程

《RabbitMQ消息总线方式刷新配置服务全过程》SpringCloudBus通过消息总线与MQ实现微服务配置统一刷新,结合GitWebhooks自动触发更新,避免手动重启,提升效率与可靠性,适用于配... 目录前言介绍环境准备代码示例测试验证总结前言介绍在微服务架构中,为了更方便的向微服务实例广播消息,