【tinymce6.0】 images_upload_handler未正常自动上传图片问题

tinymce富文本编辑器实现本地图片上传 在开发过程中使用tinymce富文本编辑器,发现他的图片上传默认是上传网络图片 那么如何实现上传本地图片呢,上官网逛一圈,发现其实很简单 在官网中找到下面这张图片,并且有相关的例子 这里,我使用了自定义函数 images_upload_handler (blobInfo, success, failure) { const url = 'uploadImg' ... 阅读详情
AI摘要

文章讲述了从TinyMCE5.0升级到6.0后,遇到图片上传显示问题,发现`example_image_upload_handler`回调已重构为返回Promise。作者解决了如何在新的API中正确处理上传请求和响应的问题,以获取和返回成功的图片URL。

问题描述

新开了一个项目之前用的tinymce5.0写了个编辑器,准备更新到6.0。然后发现图片并没有显示正常的src,src还是‘blob:http:’格式。但是上传接口正常请求返回也正常。

因为配置直接复制过去的,上传配置这样,于是我把问题定位在images_upload_handler函数的回调上。发现res.url是可以正常打印的,怀疑success()的回调出问题。
配置

然后查了下tinymce6.0的官方文档

const example_image_upload_handler = (blobInfo, progress) => new Promise((resolve, reject) => {
  const xhr = new XMLHttpRequest();
  xhr.withCredentials = false;
  xhr.open('POST', 'postAcceptor.php');

  xhr.upload.onprogress = (e) => {
    progress(e.loaded / e.total * 100);
  };

  xhr.onload = () => {
    if (xhr.status === 403) {
      reject({ message: 'HTTP Error: ' + xhr.status, remove: true });
      return;
    }

    if (xhr.status < 200 || xhr.status >= 300) {
      reject('HTTP Error: ' + xhr.status);
      return;
    }

    const json = JSON.parse(xhr.responseText);

    if (!json || typeof json.location != 'string') {
      reject('Invalid JSON: ' + xhr.responseText);
      return;
    }

    resolve(json.location);
  };

  xhr.onerror = () => {
    reject('Image upload failed due to a XHR Transport error. Code: ' + xhr.status);
  };

  const formData = new FormData();
  formData.append('file', blobInfo.blob(), blobInfo.filename());

  xhr.send(formData);
});

综上发现:

tinymce6.0中 example_image_upload_handler 被重构了,他现在此选项允许指定一个函数,该函数用于将 TinyMCE 的默认 JavaScript 上传处理程序函数替换为自定义逻辑。
upload handler 函数采用两个参数:
blobInfo file文件
progress 取值介于 1 和 100 之间的回调。

需要在函数中返回一个 Promise,该 Promise 将使用上传的图像 URL 进行解析,或拒绝并出现错误。
也就是说之前回调参数中的success回调参数已经不存在,取而代之是指定一个返回Promise对象的函数

将原本代码做出调整如下:

在这里插入图片描述
resolve里给出返回上传成功后的url即可


tinyMCE上传图片 最近做项目涉及到上传文件,于是便想用tinyMCE的文本编辑器,官网地址如下 tinyMCE官网地址 我比较了几个编辑器,最终选用这个,因为功能比较强大,能够实现代码编写,图片上传,插入连接等功能。今天就来说说图片上传。(本地图片上传) 一: 大致介绍 我们的需求是允许用户在文章编写过程中插入图片并将图片保存到服务器下的一个文件夹(WEBROOT/upImage)。 最终效果是这样的,如... 阅读详情

相关推荐

【tinymce6.0】从回调到Promise:images_upload_handler的升级适配指南

本文详细介绍了如何将TinyMCE 6.0中的images_upload_handler从回调函数升级到Promise的实现方式。通过新旧版本代码对比和完整迁移指南,帮助开发者解决图片上传显示为blob URL等常见问题,并提供了使用axios、处理跨域、批量上传等高级应用场景的最佳实践。

weixin_29015483的博客 333

vue实战026:TinyMCE重写图片上传功能

TinyMCE插入图片默认的是直接插入图片地址的,而通常我们希望能直接将图片上传至我们的服务器并返回图片的服务器地址,前面在vue实战024:Vue-Quill-Editor自定义图片上传中也提到了图片上传,原理是一样的。当我们选择图片后将图片上传服务器,服务器返回相应的图片链接,前端将图片链接插入到富文本的指定光标上位置,在提交富文本的内容的时候图片只是以图片地址提交。 TinyMCE提...

kevinfan的博客 8891

TinyMCE 粘贴图片自动上传的优化实践与问题解决

本文深入探讨了TinyMCE富文本编辑器实现粘贴图片自动上传功能的完整实践方案。针对从临时Blob链接到永久URL转换的核心痛点,详细解析了images_upload_handler的配置、blobInfo对象的使用以及大图压缩、Windows平台重复图等常见问题的优化解决方案,旨在打造无缝、稳定的用户体验。

weixin_29011239的博客 137

tinymce 自定义上传图片

tinymce自定义上传图片

LJJONESEED的博客 1667

src/components/tinymce/index.vue

这个代码块是一个基于 Vue.js 的组件,用于集成 TinyMCE 富文本编辑器。以下是对代码块中各个部分的解释: 解释: 使用了一个 容器来包裹一个 元素。 的类名根据 状态动态绑定,如果 为真,则添加 类。 元素的 属性是动态生成的,确保每个实例都有唯一的 ID。 部分 解释: Props:定义了三个属性 , , ,分别表示编辑器的高度、是否允许调整大小和初始值。 Data:定义了一些内部状态变量,如 , , , 。 Mounted:在组件挂载时调用 方法。 Met

qq_25741071的博客 1225

tinymce5.0 image_upload_handler自定义上传图片接口的方法

tinymce6.0的之前用到过,现在是jeecg的框架用的技术没那么新,是5.0的,算是重新研究了一遍tinymce的上传,两个版本的大同小异。

峰会路转的博客 2668

tinyMCE中图片的自定义上传

tinyMCE图片拖动到编辑框或者使用图片上传插件插入到编辑框时,需要指定上传方法,现需要使用后台接收前台上传的图片并将图片保存到服务器,之后将图片的url返回到前台做图片链接。 tinyMCE中有两种方式: 1、直接使用images_upload_url属性,该属性会在上传图片时自动访问指定的url并获取返回地址: images_upload_url: '/image/upload', ...

ouxiaoyang5的专栏 1万+

tinymce6.0 image_upload_handler和file_picker_callback自定义上传图片报错的解决方案

点击源右边的上传按钮的方法没有变动:调用后给给的接口,把图片链接cb方法就可以了。tinymce6.0的写法。这个组件的核心源码如下。

峰会路转的博客 5506

tinymce使用images_upload_handler将图片处理成base64或者url

1.处理成base64 initTinymce() { const _this = this; window.tinymce.init({ // language: this.language, language: "zh_CN", selector: `#${this.tinymceId}`, height: this.height, body_class: "panel-body ",

yuguang的博客 1万+

TinyMCE 6.2.0 部署与集成实战:初始化配置与图片上传指南

富文本编辑器是后台管理系统、CMS 和内容发布平台的核心组件,选型时不仅要考虑功能完整性,还要关注版本稳定性与工程集成成本。TinyMCE 作为成熟的开源富文本编辑器,凭借开箱即用的插件机制和丰富的文档生态,在众多项目中得到广泛应用。在 v6.2.0 版本的部署过程中,正确理解目录结构、合理配置 baseURL、初始化参数以及语言包加载是关键环节,而图片上传更是高频需求——默认的 Base64 存储方式在小图场景可用,真实项目则需通过自定义上传接口将图片落地到服务器或对象存储。本文从实际工程经验出发,梳理了

weixin_28833069的博客 273

计算机考研常见面试题

写在前面 本人参加20考研,由于复试没有具体要求会问哪几门课,所以我就找了网上一些常见的计算机专业的面试题,整理如下 主要结构: 数据库 软件工程 操作系统 计算机组成原理 计算机网络 数据结构 C++ Java 数据库 1、数据:数据库中存储的基本对象。 数据库:长期存储在计算机内的、有组织的、可共享的数据集合。 数据库管理系统:专门用于建立和管理数据库的一套软件。对外部程序提供访问数据库的方法,对内进行数据管理。 数据库系统:与和数据库相关的整个系统,一般由数据库、数据库管理系统、应用程序、数

qq_38841618的博客 2万+

tinymce6 上传图片报错Cannot read properties of undefined (reading ‘then‘)

题主想上传图片时前端读取文件,转为base64格式,放在img的src中,不需要通过后端。之后提交表单的时候再结合html内容全部提交过去 经过一番探索,tinymce6之前的上传方法都不行了,要加上promise。。。。不用了success了。。。 images_upload_handler: (blobInfo, progress) => new Promise((resolve, reject ) => { resolve('data:'

TheDragonKing的博客 5810

LibTV保姆级教程:从提示词到AI视频成片全流程

AI视频生成技术正以前所未有的速度重塑内容创作行业,过去需要编剧、摄影、剪辑等多角色协作的复杂流程,如今借助AI绘画与图生视频等核心能力,一个人也能完成高质量短视频制作。理解提示词工程是掌控AI视频创作的关键,通过精准描述主体、环境、光线与运镜,可以显著提升生成画面的稳定性与专业度。而图生视频技术则让静态分镜自然流动,有效解决角色一致性与场景漂移等常见问题。这类工具已广泛应用于产品宣传、剧情短片、社交媒体内容生产等场景,大幅降低了视频创作门槛。本文以LibTV一站式AI视频创作平台为例,从核心概念到完整实操

weixin_29046035的博客 939

TinyMCE富文本编辑器粘贴图片自动上传问题解决

参考文章:http://blog.ncmem.com/wordpress/2023/12/27/tinymce%e5%af%8c%e6%96%87%e6%9c%ac%e7%bc%96%e8%be%91%e5%99%a8%e7%b2%98%e8%b4%b4%e5%9b%be%e7%89%87%e8%87%aa%e5%8a%a8%e4%b8%8a%e4%bc%a0%e9%97%ae%e9%a2%98%e8%a7%a3%e5%86%b3/以下是配置后粘贴图片效果,和上传效果一样。plugins中添加paste;

weixin_45525177的博客 502

智能织梦:基于Rokid AR眼镜的家庭情感记忆增强系统设计与实践

本文介绍了基于Rokid AR眼镜的'智能织梦'系统,通过增强现实技术捕捉和重现家庭情感记忆。系统利用多模态传感器和轻量级情感识别模型,自动记录家庭互动中的情感峰值时刻,并生成沉浸式记忆片段。测试数据显示,该系统显著提升了家庭情感互动的频率和质量,特别适用于多代同堂家庭和记忆唤醒场景。

sre5engineer的博客 536

海康视觉平台VisionMaster实战入门:从通讯配置到工具应用

本文为海康VisionMaster视觉平台实战入门指南,详细介绍了从软件安装准备、与PLC等外部设备的通讯配置,到匹配定位、测量、畸变矫正等核心工具的应用方法。通过实战案例拆解,帮助工程师快速掌握如何搭建完整的机器视觉检测与引导定位系统,实现工业自动化项目落地。

weixin_29224309的博客 1006

axios 上传文件_vue实战026:TinyMCE重写图片上传功能

TinyMCE插入图片默认的是直接插入图片地址的,而通常我们希望能直接将图片上传至我们的服务器并返回图片的服务器地址,前面在vue实战024:Vue-Quill-Editor自定义图片上传中也提到了图片上传,原理是一样的。当我们选择图片后将图片上传服务器,服务器返回相应的图片链接,前端将图片链接插入到富文本的指定光标上位置,在提交富文本的内容的时候图片只是以图片地址提交。TinyMCE提供了图片异...

weixin_39963341的博客 294

【Python脚本】Python自动大麦网抢票,准点原价秒杀演唱会门票,拒绝黄牛交易!从我做起!!!1

你是否错过了周杰伦的票,最近又没抢到五月天的票,不要太难过,今晚有张学友的票,后天还有张杰的票,加油哦!

weixin_45841831的博客 6万+

vue3 tinymce 富文本 粘贴图片实时发送请求到SpringBoot后端 并保存

tinymce 富文本 的粘贴图片实时上传vue3的tinymce富文本的使用:步骤一 修改images_upload_handler函数:步骤二 后端代码 :步骤三 nginx配置: 使用到的技术: vue3 tinymce富文本 、SpringBoot 、nginx vue3的tinymce富文本的使用: 参考下面这位老哥的文章: 链接: 在vue3.0项目中使用tinymce富文本编辑器 作者:mrjimin. 步骤一 修改images_upload_handler函数: 通过源代码 可以看到原作者

weixin_45932217的博客 4106

VTK学习(入门级教程,包括安装和使用)~持续更新中

说明:研究QT+VTK有段时间了,准备把学到的东西分享给大家,这篇博客以VS+QT+VTK为主进行展开学习的。

HXX904的博客 4755

别再只跑recon-all了!FreeSurfer实战:从T1图像到freeview可视化的完整避坑指南

本文详细解析FreeSurfer从T1图像处理到freeview可视化的全流程,包括环境配置、recon-all深度解析、高级可视化技巧及性能优化策略。特别针对常见错误提供解决方案,帮助用户高效完成MRI数据分析,避免常见陷阱。

weixin_33404102的博客 353

在 Vue 项目中引入 tinymce 富文本编辑器

项目中原本使用的富文本编辑器是 wangEditor,这是一个很轻量、简洁编辑器 但是公司的业务升级,想要一个功能更全面的编辑器,我找了好久,目前常见的编辑器有这些: UEditor:百度前端的开源项目,功能强大,基于 jQuery,但已经没有再维护,而且限定了后端代码,修改起来比较费劲 bootstrap-wysiwyg:微型,易用,小而美,只是 Bootstrap + jQuery......

weixin_34411563的博客 4752

OpenCV+ArUco实战:如何用Python实现高精度二维码测距(附完整代码)

本文详细介绍了如何使用Python和OpenCV实现基于ArUco标签的高精度单目视觉测距。通过相机标定、标签检测和三维位置估算,结合完整代码示例,帮助开发者在机器人导航、工业自动化等场景中实现厘米级距离测量,并探讨了精度优化与三维可视化等进阶应用。

weixin_29052717的博客 474

vue handler ()的参数是什么_vue实战026:TinyMCE重写图片上传功能

TinyMCE插入图片默认的是直接插入图片地址的,而通常我们希望能直接将图片上传至我们的服务器并返回图片的服务器地址,前面在vue实战024:Vue-Quill-Editor自定义图片上传中也提到了图片上传,原理是一样的。当我们选择图片后将图片上传服务器,服务器返回相应的图片链接,前端将图片链接插入到富文本的指定光标上位置,在提交富文本的内容的时候图片只是以图片地址提交。TinyMCE提供了图片异...

weixin_42117622的博客 518

C# WinForm 基于DirectShow.dll编写的程序,可边预览边保存视频,音频和图片

基于微软的DirectShow.dll的二次开发1.自动识别连接的摄像头跟麦克风且可以对其进行选择(默认选中第一个)2.可录制wmv和avi两种格式的视频并且都带有音频,avi可以录制的分辨率和帧数进行选择,wmv默认进行了淸晰度优化如不喜欢可去除代码中有相关提示3.可在预览点开之后进行拍照,也可边录制视频边拍照4.添加了视频和音频的压缩功能(酌情使用)这次二次开发发现C#对DirectShow的相关信息太少,这次做完也不敢藏私共享出来,还望大家指正

lwip-2.0.3

lwip是瑞典计算机科学院(SICS)的Adam Dunkels 开发的一个小型开源的TCP/IP协议栈。实现的重点是在保持TCP协议主要功能的基础上减少对RAM 的占用。

TinyMCE文件上传避坑指南:从本地存储到云存储的完整方案

本文详细解析了TinyMCE文件上传的两种核心机制(images_upload_handler和file_picker_callback),提供了从本地存储到腾讯云COS的完整实现方案,包含安全防护、性能优化及实际项目经验分享,帮助开发者高效集成文件上传功能。

dream的博客 951

VC中sqlite的使用

在VC中对sqlite的使用,实现数据库大批数据的快速插入,读取数据库中的数据在ListCtrl中显示

hellodrow
博客等级 码龄7年 5粉丝 1原创
评论 1
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值