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

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

时间:2023-04-19 14:33:58浏览次数:45  
标签:xml http pasterMgr imgFile ue word 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样式。

 

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

详细思路及源码

示例下载:

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

标签:xml,http,pasterMgr,imgFile,ue,word,page,粘贴,图片
From: https://www.cnblogs.com/songsu/p/17333191.html

相关文章

  • 视频直播系统源码,CSS3如何调整背景图片大小
    视频直播系统源码,CSS3如何调整背景图片大小1.lengthlength:设置背景图片的高度与宽度。第一个值设置宽度,第二个值为高度。如果只给出第一个值,那么第二值则设置为auto(自动)。 举例,将背景图片改为20emx20em(默认1px=.05em)       width:30em;      ......
  • 本机复制的内容粘贴不到VMware虚拟机里面的解决办法
    分析VMware正确安装完linux虚拟机之后,这里以Ubuntu为例,如果你使用的默认配置,正常情况下就可以复制、粘贴和拖拽内容的,双方向都是支持的。如果不能复制和拖拽一般是vmwaretools没有正确安装导致。Vmwaretools灰色不能安装打开vmware,在主界面上点“虚拟机”,如下图所示“安装vmw......
  • 在线编辑器 实现ctrl+v粘贴图片并上传、word粘贴带图片
    ​ 自动导入Word图片,或者粘贴Word内容时自动上传所有的图片,并且最终保留Word样式,这应该是Web编辑器里面最基本的一个需求功能了。一般情况下我们将Word内容粘贴到Web编辑器(富文本编辑器)中时,编辑器都无法自动上传图片。需要用户手动一张张上传Word图片。如果只有一张图片还能够接......
  • 客服系统vue源码聊天界面,ajax上传图片功能实现
    在线客服系统的聊天界面上,有上传图片按钮功能,使用js实现ajax上传图片功能html部分,有一个点击事件<divclass="iconExtendBtn"@click="uploadImg"><divclass="elIconel-icon-picture"></div>......
  • jmeter上传图片压测5
    1,前言2,jmeter脚本3,聚合报告本文永久更新地址:1,前言图片或文件测试上传压测需要考虑文件大小,不同大小的文件上传时对服务的压力是不一样,大文件压力要比小文件大场景准备两个不同大小的文件编写jmeter脚本2,jmeter脚本选择类型为文件上传mime类型为content-type的类......
  • 手动下载canvas、地图的当前画面(下载为图片)
    functionDownloadImg(){//使用前需要npm下载html2canvas并引入组件中才能使用html2canvas(document.querySelector("#map"),{//参数为容器的dom//转换为图片backgroundColor:"#ffffff",//设置截图的背景色......
  • word表格操作2
    第一题:制作下面的表格第二题: 第三题:1、在文档的第二个段落标记处插入一个9行8列的表格,并在第一行的任一单元格内按下enter键。2、将第一列从第二行处开始划一根表格线,使下面的单元格都分为2个单元格。3、将第六行的单元格合并为一个。4将第一列的2-5行单元格合并为一......
  • ERROR 1045 (28000): Access denied for user '-root'@'localhost' (using password:
    以下是cmd的操作(重启服务,修改my.ini文章下面有my.ini配置) 当修改密码为123456是sqlyog连接成功修改为root时连接报老错误,又修改为123456在修改为root就连接正常了MicrosoftWindows[版本10.0.18363.1139](c)2019MicrosoftCorporation。保留所有权利。C:\ProgramFiles......
  • python+playwright 学习-53 模拟键盘操作-复制粘贴相关
    前言playwright可以模拟键盘操作,定位到元素使用press()方法press()方法介绍locator.press()方法聚焦所选元素并产生单个击键。它接受在键盘事件的keyboardEvent.key属性中发出的逻辑键名称:Backquote,Minus,Equal,Backslash,Backspace,Tab,Delete,Escape,ArrowDown,......
  • 设置多个背景图片
     首先使用background-image:url("./images/logo.jpg") 来指定背景图片的路径使用background-repeat:repeat|repeat-x|repeat-y|no-repeat 来指定背景图片的重复次数使用background-size:14px|14%指定背景图片大小使用background-position:lefttop |  x%y%......