
tinymce 编辑器多图上传批量处理
使用 tinymce 编辑器时,通过 axupimgs 插件实现多图上传,但插件每次只上传一张图片,导致接口调用频率过高。针对此问题,本文提供了批量上传图片的解决方案。
按照官方文档,我们可以使用 images_upload_handler 参数处理图片上传后的操作。传入图片的 blob 对象并返回一个 promise,resolve 后,将上传成功的地址传进去。
以下代码给出了具体实现方案:
保存选择的文件和 promise 的 resolve 方法。提供一个 doupload 函数,通过 formdata 上传文件,并调用对应的 resolve 方法完成上传。
关键在于将后端的批量上传响应与前端的 resolve 逐一对应起来。以下示例代码展示了完整实现:
const files = [];const tasks = [];function uploadImages (blob, progress) { // 保存待上传文件 files.push(blob); return new Promise(function (resolve) { // 保存 Promise 的 resolve 方法 tasks.push(resolve); })}function doUpload () { const _files = files.slice(); const _tasks = tasks.slice(); files.length = 0; tasks.length = 0; const formData = new FormData(); _files.forEach((file, index) => formData.append(`files[${index}]`, file)); fetch('/image', { method: 'post', body: formData }).then(resp => resp.json()).then(result => { // 上传成功后的处理 _tasks.forEach((task, index) => { task(result.uploaded[index]); }) })}
通过此方案,可以批量将图片上传到后端,并有效控制接口调用频率。
以上就是TinyMCE编辑器多图上传效率低怎么办?的详细内容,更多请关注创想鸟其它相关文章!
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 chuangxiangniao@163.com 举报,一经查实,本站将立刻删除。
发布者:程序猿,转转请注明出处:https://www.chuangxiangniao.com/p/1251227.html
微信扫一扫
支付宝扫一扫