当前位置:网站首页>dedecms支持Word内容自动导入
dedecms支持Word内容自动导入
2022-08-10 15:02:00 【51CTO】
这种方法是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样式。
图片上传完后,编辑器里面的图片地址也全部都改成了服务器的图片地址了,
所有代码已经全部传到网上,有需要的朋友可以直接下载使用, http://blog.ncmem.com/wordpress/2019/08/07/javaword图片上传控件/
欢迎入群一起讨论:223813913
边栏推荐
- 社区动态——恭喜海豚调度中国区用户组新晋 9 枚“社群管理员”
- 容器化 | 在 S3 实现定时备份
- Websocket realizes real-time change of chart content
- 线上线下课程教学培训小程序开发制作功能介绍
- [Semantic Segmentation] DeepLab Series
- 程序员=加班??——掌握时间才能掌握人生
- 解读STEAM教育中的表现性评价
- 兆骑科创高层次人才创业大赛平台,投融资对接,双创服务
- storage of data in memory
- Meaning and names of 12 nautical miles, 24 nautical miles and 200 nautical miles
猜你喜欢
推荐几款最好用的MySQL开源客户端,建议收藏!
NFT digital collection development issue - digital collection platform
Yi Gene|In-depth review: epigenetic regulation of m6A RNA methylation in brain development and disease
fatal error C1083 无法打开包括文件'io.h' No such file
SWIG教程《二》
NFT数字藏品——数字藏品发行平台开发
程序调试介绍及其使用
APP automation testing with Uiautomator2
QOS function introduction
中学数学建模书籍及相关的视频等(2022.08.09)
随机推荐
12海里、24海里、200海里的意义及名称
Based on Azuki Series: NFT Valuation Analysis Framework "DRIC"
Meaning and names of 12 nautical miles, 24 nautical miles and 200 nautical miles
Network engineer's backpack (EDC summary recommendation)
TestLink导出用例转换工具
小程序-语音播报功能
程序调试介绍及其使用
SWIG tutorial "two"
异地多活方法论
Cesium快速上手4-Polylines图元使用讲解
产品使用说明书小程序开发制作说明
Containerization | Scheduled Backups in S3
波士顿房价预测
metaForce佛萨奇2.0系统开发功能逻辑介绍
秒杀项目收获
redhat替换yum源时redhat.repo无法删除或无法禁用的问题解决方法
蓝帽杯半决赛火炬木wp
Software Test Cases
【吴恩达来信】强化学习的发展!
websocket实现实时变化图表内容