首页 > 其他分享 >Web编辑器实现WORD粘贴图片自动上传

Web编辑器实现WORD粘贴图片自动上传

时间:2023-09-05 17:26:12浏览次数:28  
标签:Web WORD 控件 pasterMgr imgFile 编辑器 ue http page

 这种方法是servlet,编写好在web.xml里配置servlet-class和servlet-mapping即可使用

后台(服务端)java服务代码:(上传至ROOT/lqxcPics文件夹下)

<%@ page language="java" import="java.util.*" pageEncoding="utf-8"%><%@

     page contentType="text/html;charset=utf-8"%><%@

     page import = "Xproer.*" %><%@

     page import="org.apache.commons.lang.StringUtils" %><%@

     page import="org.apache.commons.fileupload.*" %><%@

     page import="org.apache.commons.fileupload.disk.*" %><%@

     page import="org.apache.commons.fileupload.servlet.*" %><%

boolean isMultipart = ServletFileUpload.isMultipartContent(request);

FileItemFactory factory = new DiskFileItemFactory();  

ServletFileUpload upload = new ServletFileUpload(factory);

List files = null;

try

{

     files = upload.parseRequest(request);

}

catch (FileUploadException e)

{

    out.println("上传文件异常:"+e.toString());

    return;

}

 

FileItem imgFile = null;

Iterator fileItr = files.iterator();

while (fileItr.hasNext())

{

     imgFile = (FileItem) fileItr.next();

     if(imgFile.isFormField())

     {

         String fn = imgFile.getFieldName();

         String fv = imgFile.getString();

         if(fn.equals("uname")) uname = fv;

         if(fn.equals("upass")) upass = fv;

     }

     else

     {

         break;

     }

}

Uploader up = new Uploader(pageContext,request);

up.SaveFile(imgFile);

String url = up.GetFilePathRel();

out.write(url);

response.setHeader("Content-Length",url.length()+"");

%>

 

配置web.xml

 <?xml version="1.0" encoding="UTF-8"?>

<web-app version="2.5"

    xmlns="http://java.sun.com/xml/ns/javaee"

    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"

    xsi:schemaLocation="http://java.sun.com/xml/ns/javaee

    http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd">

  <welcome-file-list>

    <welcome-file>index.jsp</welcome-file>

  </welcome-file-list>

</web-app>

 

前端(页面)测试代码:

<!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>WordPaster-jsp-ueditor-1.2.6.0</title>

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

     <script type="text/javascript" src="ueditor.all.min.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" />

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

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

    <script type="text/javascript" src="WordPaster/js/w.edge.js" charset="utf-8"></script>

    <script type="text/javascript" src="WordPaster/js/w.app.js" charset="utf-8"></script>

    <script type="text/javascript" src="WordPaster/js/w.file.js" charset="utf-8"></script>

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

    <script type="text/javascript" src="WordPaster/js/WordPaster.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://www.ncmem.com/products/upload_ori.aspx"

    pasterMgr.Config["PostUrl"] = "http://localhost:8080/WordPaster2UEditor1.4x/upload.jsp"

    //pasterMgr.Config["PostUrl"] = "http://cloud.dyso.cn/ueditor/upload.jsp"

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

 

        var ue = UE.getEditor('myEditor');

        

         ue.ready(function() {

             //设置编辑器的内容

             ue.setContent('hello');

             //获取html内容,返回: <p>hello</p>

             var html = ue.getContent();

             //获取纯文本内容,返回: hello

             var txt = ue.getContentTxt();

             pasterMgr.SetEditor(ue);

         });

                  

     </script>

</body>

</html>

实现后的效果,能够批量上传word中的全部图片,大幅度提升图片上传效率。而且能够保留Word样式。

 

编辑

 

图片上传完后,编辑器里面的图片地址也全部都改成了服务器的图片地址了,

 

编辑

所有代码已经全部传到网上,有需要的朋友可以直接下载使用

效果展示:

​编辑

​编辑

​编辑

 

视频教程:

 

动易SiteFactory 4.7整合,动易SiteFactory 6.2整合,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​

标签:Web,WORD,控件,pasterMgr,imgFile,编辑器,ue,http,page
From: https://www.cnblogs.com/songsu/p/17680217.html

相关文章

  • Word设置标题以及多级自动编号——保姆级教程
    前言上学期间可能经常会用到Word来写一些报告、论文之类的文章,这个时候就需要用到分级标题,然而Word自带的标题往往不能符合我们要求的格式,这个时候就需要我们自己来设置了,以下方法都是我自己摸索出来的,不一定是最优方法,但应该可以满足一些基本需求。注:我这里用的是Office36520......
  • FCKEditor实现WORD粘贴公式自动上传
    ​ 在之前在工作中遇到在富文本编辑器中粘贴图片不能展示的问题,于是各种网上扒拉,终于找到解决方案,在这里感谢一下知乎中众大神以及TheViper。通过知乎提供的思路找到粘贴的原理,通过TheViper找到粘贴图片的方法。其原理为一下步骤:监听粘贴事件;【用于插入图片】获取光标位置;【......
  • Web阶段:第十七章:Session会话
    什么是Session会话?1.Session是会话,表示客户端和服务器之间联系的一个对象。2.Session是一个域对象。3.Session经常用来保存用户的数据。如何创建Session和获取(id号,是否为新)调用一个方法request.getSession().第一次调用是创建Session对象并返回之后调用都是获取Session对象。......
  • Web阶段:第十六章:Cookie技术
    Cookie技术a)什么是Cookie?1.Cookie翻译过来是饼干的意思。2.Cookie是由服务器通知客户端,并由客户端保存键值对的一种技术。它的构造器是:publicCookie(Stringname,Stringvalue){}3.只要客户端有Cookie,每次请求都会发送给服务器。4.每个Cookie不能超过4kb的大小b)如何创建Cook......
  • Node 配合 webseket 订阅 pgsql 的数据表变化
    pg订阅传送门服务端代码const{Client}=require('pg');constWebSocket=require('ws');constwss=newWebSocket.Server({port:8080,perMessageDeflate:false,verifyClient:(info,cb)=>{constorigin=info.origin||'......
  • CKEditor实现WORD粘贴公式自动上传
    ​ 在之前在工作中遇到在富文本编辑器中粘贴图片不能展示的问题,于是各种网上扒拉,终于找到解决方案,在这里感谢一下知乎中众大神以及TheViper。通过知乎提供的思路找到粘贴的原理,通过TheViper找到粘贴图片的方法。其原理为一下步骤:监听粘贴事件;【用于插入图片】获取光标位置;【......
  • 直播平台开发,WebDriver API模拟首页搜索
    直播平台开发,WebDriverAPI模拟首页搜索在输入框中清除原有的文字内容,并输入指定内容 WebElementinput=driver.findElement(By.id("xxx")); //定位到的元素,id为xxxinput.clear();StringinputString="Selenium";input.sendKeys(inputString); ​单击按钮 WebElem......
  • 多个word转化成PDF文件后再合并成一个PDF文件
    """**将多个word文档转化成PDF文件,最后合并成一个PDF文件**"""`importosfromwin32comimportclientfromPyPDF2importPdfMerger#使用PdfMergerdefwordToPdf(folder):#将多个word文档转化成PDF文件os.chdir(folder)file_type='docx&#......
  • 直播平台制作,WebDriver API 拖拽页面元素
    直播平台制作,WebDriverAPI拖拽页面元素 importorg.testng.annotations.Test;importorg.openqa.selenium.By;importorg.openqa.selenium.WebDriver;importorg.openqa.selenium.WebElement;importorg.openqa.selenium.chrome.ChromeDriver;importorg.openqa.selenium.int......
  • web使用cookie创建表单
    举例:                deftest_003():url='https://xx.com/user-login.html'#启动浏览器browser=webdriver.Chrome('/usr/local/bin/chromedriver')browser.get(url=url)browser.maximize_window()#设置页......