首页 > 其他分享 >eWebEditor 实现ctrl+v粘贴图片并上传、word粘贴带图片

eWebEditor 实现ctrl+v粘贴图片并上传、word粘贴带图片

时间:2023-04-24 12:12:52浏览次数:50  
标签:控件 word upload fileName ext php 上传 粘贴 图片

如何做到 ueditor批量上传word图片?

1、前端引用代码

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

<html xmlns="http://www.w3.org/1999/xhtml">

<head>

    <meta http-equiv="Content-Type"content="text/html; charset=utf-8"/>

 

   <title>编辑器完整版实例-1.2.6.0</title>

    <script type="text/javascript"src="ueditor.config.js"charset="utf-8"></script>

    <script type="text/javascript"src="ueditor.all.js"charset="utf-8"></script>

    <link type="text/css"rel="Stylesheet"href="WordPaster/css/WordPaster.css"/>

    <link type="text/css"rel="Stylesheet"href="WordPaster/js/skygqbox.css"/>

    <scrip ttype="text/javascript"src="WordPaster/js/json2.min.js"charset="utf-8"></script>

    <scrip ttype="text/javascript"src="WordPaster/js/jquery-1.4.min.js"charset="utf-8"></script>

    <scrip ttype="text/javascript"src="WordPaster/js/WordPaster.js"charset="utf-8"></script>

    <scrip ttype="text/javascript"src="WordPaster/js/skygqbox.js"charset="utf-8"></script>

</head>

<body>

    <textarea name="后台取值的key"id="myEditor">这里写你的初始化内容</textarea>

    <script type="text/javascript">

        var pasterMgr = new WordPasterManager();

    pasterMgr.Config["PostUrl"] = "http://localhost:81/WordPaster2/WordPasterUEditor1x/php/upload.php"

    pasterMgr.Load();//加载控件

 

          UE.getEditor('myEditor',{onready:function(){//创建一个编辑器实例

              pasterMgr.SetEditor(this);

          }});

    </script>

</body>

</html>

请求

文件上传的默认请求是一个文件,作为具有“upload”字段的表单数据。

响应:文件已成功上传

当文件成功上传时的JSON响应:

uploaded- 设置为1。

fileName - 上传文件的名称。

url - 上传文件的URL。

响应:文件无法上传

uploaded- 设置为0。

error.message - 要显示给用户的错误消息。

2、粘贴word里面的图片路径是fill://D 这种格式 我理解这种是非浏览器安全的 许多浏览器也不支持

目前项目是用了一种变通的方式:

先把word上传到后台 、poi解析、存储图片 、转换html、替换图片、放到富文本框里显示

(富文本显示有个坑:没找到直接给富文本赋值的方法 要先销毁 记录下

success : function(data) {

     $('#content').attr('value',data.imagePath);

     var editor = CKEDITOR.instances["content"]; //你的编辑器的"name"属性的值

     if (editor) {

       editor.destroy(true);//销毁编辑器

      }    

     CKEDITOR.replace('content'); //替换编辑器,editorID为ckeditor的"id"属性的值

     $("#content").val(result);    //对editor赋值

     //CKEDITOR.instances.contentCkeditor.setData($("#content").text());

 }

3.接收上传的图片并保存在服务端

<?php

ob_start();

//201201/10

$timeDir =date("Ym")."/".date("d");

$uploadDir =dirname(__FILE__).'/upload/'.$timeDir;

$curDomain = "http://".$_SERVER["HTTP_HOST"]."/";

//相对路径 http://www.ncmem.com/upload/2012-1-10/

$relatPath = $curDomain ."WordPaster2/WordPasterUEditor1x/php/upload/" . $timeDir . "/";

 

//自动创建目录。upload/2012-1-10

if(!is_dir($uploadDir))

{

mkdir($uploadDir,0777,true);

}

 

//如果PHP页面为UTF-8编码,请使用urldecode解码文件名称

//$fileName = urldecode($_FILES['postedFile']['name']);

//如果PHP页面为GB2312编码,则可直接读取文件名称

$fileName = $_FILES['file']['name'];

$tmpName = $_FILES['file']['tmp_name'];

 

//取文件扩展名jpg,gif,bmp,png

$path_parts =pathinfo($fileName);

$ext = $path_parts["extension"];

$ext =strtolower($ext);//jpg,png,gif,bmp

 

//只允许上传图片类型的文件

if($ext == "jpg"

    || $ext == "jpeg"

    || $ext == "png"

    || $ext == "gif"

    || $ext == "bmp")

{

    //年_月_日_时分秒毫秒.jpg

    $saveFileName = $fileName;

 

    //xxx/2011_05_05_091250000.jpg

    $savePath = $uploadDir . "/" . $saveFileName;

 

    //另存为新文件名称

    if (!move_uploaded_file($tmpName,$savePath))

    {

exit('upload error!' . "文件名称:" .$fileName . "保存路径:" . $savePath);

    }

}

 

//输出图片路径

//$_SERVER['HTTP_HOST']   localhost:81

//$_SERVER['REQUEST_URI'] /FCKEditor2.4.6.1/php/test.php

$reqPath =str_replace("upload.php","",$_SERVER['REQUEST_URI']);

echo $relatPath .  $saveFileName;

header('Content-type: text/html; charset=utf-8');

header('Content-Length: ' .ob_get_length());

?>

效果展示:

 

 

动易SiteFactory 4.7整合,动易SiteFactory 5.6整合,动易SiteFactory 6.2整合,PbootCMS整合,PHPCMS v9整合,dedecms 5.7-ueditor整合,dedecms 5.7-ckeditor3x整合,帝国CMS-ueditor整合,帝国CMS-ckeditor4x整合,dokuwiki整合,Windows控件安装,macOS控件安装,linux-deb控件安装,linux-rpm控件安装,uos控件安装,linux-银河麒麟控件安装,

 

更多详细资料可以参考这篇文章:

详细思路及源码

示例下载:

wordpaster-vue3-cli-ueditor1.5wordpaster-vue-ueditor1.5wordpaster-asp.net-ueditor1.5xwordpaster-php-ueditor1xwordpaster-jsp-ueditor1x​

 

标签:控件,word,upload,fileName,ext,php,上传,粘贴,图片
From: https://www.cnblogs.com/songsu/p/17349015.html

相关文章

  • Word在试图打开文件时遇到错误
    Word在试图打开文件时遇到错误。请尝试下列方法:检查文档或驱动器的文件权限。确保有足够的内存和磁盘空间。用文本恢复转换器打开文件。如图所示: 解决办法:1.文件安全性问题,可以打开Word或ppt,依次点击“文件→选项→信任中心→信任中心设置→受保护的视图”,取消受保护的......
  • Getselection能不能接受keyword?
    这个玩意绝对是个坑,CAD对Getselection的支持并不充分,需要通过keywordinput事件来弄,比较麻烦,而且很容易出问题。所以我的做法是,不使用,哈哈!下面这个是kean的代码:[CommandMethod("SELKW")]publicvoidGetSelectionWithKeywords(){Documentdoc=AcadApp.......
  • codeforces 126B B. Password(kmp+dp)
    题目链接:codeforces126B题目大意:给出一个字符串,找出一个子串既是它的前缀,也是它的后缀,还是一个非后缀也非前缀的子串。题目分析:本来挺简单的一个题,最开始想复杂了,还用了后缀数组,醉了。这个题主要用的是kmp的next数组,首先我们要了解next数组的定义,next[i]表示以i为末尾的子串的后缀......
  • 本地Typora文件及图片上传博客云
    本地Typora文件及图片上传博客云1.Typora+cnblog图片自动上传一段废话:使用博客园一定会遇到一个操蛋的问题,就是本地Typora编辑的markdown文本,直接粘贴到博客园发布,图片无法显示。这是因为图片是本地路径,不是网络路径。问题能通过将图片上传到三方图床然后在markdown文件中......
  • 视频封面图片怎么设置?视频封面设置方法分享!​
    视频封面图片怎么设置?视频封面是指视频发布时显示的静态图片,通常被用作视频的缩略图和展示图,而且一个美观、吸引人的视频封面能够引起用户的兴趣,提高视频的点击率和观看量,我们在社交媒体等平台上分享视频时,视频封面也会自动显示,方便用户快速识别和浏览,那么很多小伙伴不知道该用什么......
  • VUE - 加载图片
    VUE-加载图片 方式1:<template><divstyle="width:100%;height:100%"><img:src="addjpg":data-source="addjpg"alt=""/></div></template><script>importaddjpgfro......
  • 钉钉小程序开发 图片上传功能
    dd.chooseImage({//请求图片count:1,//上传图片张数限制success:res=>{console.log("返回的文件信息为:");console.log(res);varfilePaths=res.filePaths;dd.getAuthCode({success:function(res){console.log("fil......
  • 云原生之部署wordpress博客及设置圣诞主题风格
    (云原生之部署wordpress博客及设置圣诞主题风格)一、前言1.本次实践目的1.使用docker部署wordpress网站2.配置圣诞主题风格2.wordpress介绍WordPress是使用PHP语言开发的博客平台,用户可以在支持PHP和MySQL数据库的服务器上架设属于自己的网站。也可以把WordPress当作一个......
  • vue项目结合,vant 实现中轮播图中,点击图片放大图片
    思路:vant中提供函数ImagePreview给原每一个图片子元素设置点击事件,api中提供initial-swipe索引,拿到原图索引设置change事件,保存大图切换的对应索引给到自己的initial-swipe索引中设置图片预览切换时,根据切换后的索引,设置原图的位置,大图原图同步原图片swipeTo(i)切换到......
  • Mysql解决Authentication plugin ‘caching_sha2_password‘ cannot be loaded
    1、登录Mysqlmysql-uroot-p2、修改账户密码加密规则并更新用户密码//修改加密规则ALTERUSER'root'@'localhost'IDENTIFIEDBY'password'PASSWORDEXPIRENEVER;//更新一下用户的密码ALTERUSER'root'@'localhost'IDENTIFIEDWITHmysql_native_pa......