能粘贴Word 内容(含公式)的Web编辑器

该文介绍了一种使用JavaServlet处理文件上传的方法,代码示例展示了如何在web.xml中配置servlet,并在后台处理上传到指定文件夹的图片。前端使用ueditor编辑器,通过配置PostUrl与后台交互,实现图片上传后在编辑器中显示服务器上的图片地址。
摘要由CSDN通过智能技术生成

这种方法是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网络图片上传功能

动易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​

WebTeX 网络公式可视化编辑器 的源码分为两部分。一部分是核心源码,是一个基于TeX/LaTeX的CGI应用程序、dll组件或浏览器插件。另一部分是基于ASP/PHP/ASP.NET/JSP的输入TeX/LaTeX指令的可视化编辑器源码,它可在线对数学方程式进行可视化编辑。编辑后有四种输出方式供选择。一是将数学公式生成图片,放在WebServer上,链接地址由ASP/PHP/ASP.NET插入网页中。二是直接生成静态网页,当访客打开有数学公式的静态网页时,再激发WebServer上的CGI将数学公式生成图片输出。三是将编辑好的数学公式的TeX/LaTeX指令与网页一起存于数据库中,在访客通过ASP/PHP/ASP.NET/JSP调用时,由WebServer生成图片并输出网页。四是生成符合MathML标准的文本文件,再由浏览器插件解析为公式显示。   WebTeX 网络数学公式编辑器的主要特点:   1、对于初学者,有直观易用、所见即所得(英文:What You See Is What You Get,缩写:WYSIWYG)的用户界面;对于TeX/LaTeX语法精通者,能所想即所得(英文:What You Think Is What You Get,缩写:WYTIWYG),随心所欲编辑数学公式,无需再像MS-WORD那样在工具栏中选来选去,直接写下你心中的公式,编译一下,马上就能看到你心中所想的数学公式,不行再改。   2、对于初学者,具有可视化的WEB编辑界面;对于精通者,可直接在网页中插入公式TeX代码,存储一下,即可完成公式的网络发布,而不必先在MathType或MS-WORD中编好公式,再以在网页中插图的方式来进行数学公式的网络发布。   3、能在Windows、Linux和FreeBSD等各种网络服务器中运行。   4、自动智能改变公式的字体和格式,适合各种复杂的公式,支持多种字体。   5、支持TeX和LaTeX,并能够把公式转化为支持Web的各种图形。   6、超过600种公式符号和模版,涵盖数学、物理、化学、地理等科学领域,另外能生成围棋棋普、乐谱等。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值