0
点赞
收藏
分享

微信扫一扫

dedecms支持Word一键上传

唯米天空 2022-08-12 阅读 24

这种方法是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样式。

dedecms支持Word一键上传_xml



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

dedecms支持Word一键上传_xml_02


所有代码已经全部传到网上,有需要的朋友可以直接下载使用,​​http://blog.ncmem.com/wordpress/2019/08/07/javaword图片上传控件/​​

欢迎入群一起讨论:223813913

举报

相关推荐

0 条评论