ueditor精简和实现上传图片文件等
最近项目要求需要用到文本编辑器,之前用的的是FCKeditor,发现在IE下不兼容,而且有比较多漏洞,果断放弃FCK,转投国产百度怀抱。百度的ueditor还是比较强大的音乐、视频、代码模式都有。
首先说精简
我的项目其实并不需要那么多牛逼的功能,只需要简单的文本编辑,所以把这些功能精简一下:
这是dialogs下面的文件
接下来
还有一些css文件,都留default就行差不多就可以了,删完之后好像还有4点多兆,等以后有时间在试。
图片上传
但是如果你用的是struts框架,struts2会把所有的路径给拦截掉,所以你需要需要自定义一个拦截器来防止struts2拦截编辑器的图片或者文件上传,所以要自定义拦截器,因为是上传都交给了controller.jsp,所以要让路径有controller的通过
public void doFilter(ServletRequest req, ServletResponse res, FilterChain chain) throws IOException, ServletException { HttpServletRequest request = (HttpServletRequest) req; HttpServletResponse response = (HttpServletResponse) res; // HttpSession session = request.getSession(); String url=request.getServletPath(); String contextPath=request.getContextPath(); if(url.equals("")) url+="/"; if((url.startsWith("/")&&url.startsWith("/fckeditor")||url.startsWith("/VerifyCodeServlet")||url.contains("/controller"))){ /*User user = (User) session.getAttribute("backUser"); if(user==null){//转入管理员登陆页面 response.sendRedirect(contextPath+"/homeAction_backStage"); return; } */ chain.doFilter(req, res); } else { super.doFilter(req, res, chain); } }
接着在ueditor.config.js里面改url
window.UEDITOR_HOME_URL = "/ShareResource/ueditor1/";//这里改成自己项目路径 var URL = window.UEDITOR_HOME_URL || getUEBasePath(); /** * 配置项主体。注意,此处所有涉及到路径的配置别遗漏URL变量。 */ window.UEDITOR_CONFIG = { //为编辑器实例添加一个路径,这个不能被注释 UEDITOR_HOME_URL: URL // 服务器统一请求接口路径 , serverUrl: URL + "jsp/controller.jsp"
在config.json文件里面这样改url
"imageActionName": "uploadimage", /* 执行上传图片的action名称 */ "imageFieldName": "upfile", /* 提交的图片表单名称 */ "imageMaxSize": 2048000, /* 上传大小限制,单位B */ "imageAllowFiles": [".png", ".jpg", ".jpeg", ".gif", ".bmp"], /* 上传图片格式显示 */ "imageCompressEnable": true, /* 是否压缩图片,默认是true */ "imageCompressBorder": 1600, /* 图片压缩最长边限制 */ "imageInsertAlign": "none", /* 插入的图片浮动方式 */ "imageUrlPrefix": "/ShareResource", /* 图片访问路径前缀 */ "imagePathFormat": "/ueditor1/jsp/upload/image/{yyyy}{mm}{dd}/{time}{rand:6}", /* 上传保存路径,可以自定义保存路径和文件名格式 */ /* {filename} 会替换成原文件名,配置这项需要注意中文乱码问题 */
上传图片就可以了。
接着在页面上初始化:
<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%> <%@ taglib prefix="s" uri="/struts-tags"%> <% String path = request.getContextPath(); String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/"; %> <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> <html> <head> <base href="<%=basePath%>"> <meta charset="utf-8"> <meta http-equiv="X-UA-Compatible" content="IE=edge"> <meta name="viewport" content="width=device-width, initial-scale=1"> <title>论坛页面</title> <script type="text/javascript" charset="utf-8" src="ueditor1/ueditor.config.js"></script> <script type="text/javascript" charset="utf-8" src="ueditor1/ueditor.all.min.js"> </script> <script type="text/javascript" charset="utf-8" src="ueditor1/lang/zh-cn/zh-cn.js"></script> <link rel="stylesheet" type="text/css" href="ueditor1/themes/default/css/ueditor.min.css"> </head> <body> <div class="input-area"> <script id="editor" type="text/plain"></script> </div> <script type="text/javascript"> window.onload=function(){ /*初始化ueditor*/ var ue = UE.getEditor('editor', { initialFrameWidth:582, initialFrameHeight:100, autoHeightEnabled: false, }); } </script> </body> </html>
结束。
郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。