首页 > 其他分享 >dedecms支持ppt自动上传

dedecms支持ppt自动上传

时间:2022-08-18 12:11:31浏览次数:85  
标签:text base64 dedecms blob ppt var items 上传 图片

图片的复制无非有两种方法,一种是图片直接上传到服务器,另外一种转换成二进制流的base64码
目前限chrome浏览器使用
首先以um-editor的二进制流保存为例:
打开umeditor.js,找到UM.plugins['autoupload'],然后找到autoUploadHandler方法,注释掉其中的代码。
加入下面的代码:

//判断剪贴板的内容是否包含文本

//首先解释一下为什么要判断文本是不是为空

//在ctrl+c word中的文字或者图片之后会返回1种(image/png)或者4种type(text/plain,text/html,text/rtf,image/png)类型的对象

//为了兼容4种格式的情况,做了如下的判断

//如下代码:e.originalEvent.clipboardData.items获得剪贴板的内容

//当粘贴了文本之后text是不为空的,同时也会返回当前文本的图片类型

//如果有文字的话不做任何的处理,如果只粘贴图片的话文本一定是空的,包括复制的桌面图片或者截图的图片

var text = e.originalEvent.clipboardData.getData("text");

if(text == ""){

    var items=e.originalEvent.clipboardData.items;

     for (var i = 0, len = items.length; i < len; i++) {

        var item = items[i];

       if ( item.kind == 'file' && item.type.indexOf('image/') !== -1 ) {

         

              var blob = item.getAsFile();

              getBase64(blob, function( base64 ) {

              //sendAndInsertImage(base64,me); 上传到服务器

               setBase64Image(base64,me);

              });

              //阻止默认事件, 避免重复添加;

              e.originalEvent.preventDefault();

             };

        }

}

两个方法:

//执行插入图片的操作

function setBase64Image(base64,editor){

    editor.execCommand('insertimage', {src: base64,_src: base64});

}

//获得base64

function  getBase64(blob, callback) {

    var a = new FileReader();

    a.onload = function(e) {callback(e.target.result);};

    a.readAsDataURL(blob);

};

效果展示:

编辑


详细内容可参考这篇文章:ueditor word图片上传

讨论群:223813913

 

标签:text,base64,dedecms,blob,ppt,var,items,上传,图片
From: https://www.cnblogs.com/zyzzz/p/16598236.html

相关文章

  • vue 针对多端口的情况下文件上传处理方法
    在一个项目中,可能会存在多个端口号,因为不同的业务作为区分,需要多个端口号:解决方案,·1.在特定的端口号中api接口中进行加入特定的字符2.针对api的形式,使用form......
  • dedecms支持ppt一键导入
    ​项目需求可发布文章需求涉及到富文本编辑器经过查阅我选择了较为简便不需要后端支持可独立完成的tinymce框架官方文档也是相当完整虽然都是全英文但是有强大的谷......
  • curl上传文件
    用hfs开服务器,设置所有人都能上传curl-F'[email protected]'http://127.0.0.1/hfs-upload/设置用户权限后需要同时有access和upload权限curl-uuser:password......
  • 大文件上传控件webupload插件
    ​这里只写后端的代码,基本的思想就是,前端将文件分片,然后每次访问上传接口的时候,向后端传入参数:当前为第几块文件,和分片总数下面直接贴代码吧,一些难懂的我大部分都加上注......
  • 大文件上传插件webupload插件
    ​4GB以上超大文件上传和断点续传服务器的实现随着视频网站和大数据应用的普及,特别是高清视频和4K视频应用的到来,超大文件上传已经成为了日常的基础应用需求。但是在很......
  • linux之间上传下载--SCP
    1.远程拷贝文件[[email protected]]#[email protected]:/etc/yum.repos.d/*.(.表示拷贝到当前文件夹下)[[email protected]]#......
  • 局域网大附件上传,支持断点续传
    ​一、概述 所谓断点续传,其实只是指下载,也就是要从文件已经下载的地方开始继续下载。在以前版本的HTTP协议是不支持断点的,HTTP/1.1开始就支持了。一般断点下载时才用到......
  • 网页大附件上传,支持断点续传
    ​需求:项目要支持大文件上传功能,经过讨论,初步将文件上传大小控制在500M内,因此自己需要在项目中进行文件上传部分的调整和配置,自己将大小都以501M来进行限制。 第一步:......
  • git将本地文件上传到远程仓库
    要记住!上传代码之前,一定要先下拉代码,如果有冲突(你和别人同时修改了某一个文件的某一行代码),那么就要先解决冲突,才能提交!这里以将自己的本地文件上传至git仓库为例1......
  • python自动化上传文件
    定位上传文件的按钮报错:selenium.common.exceptions.ElementNotInteractableException:Message:elementnotinteractable修改为执行js代码正常,如下:elem_js=self._dr......