java常用的编辑器之kindeditor
来源:互联网 发布:6直播wap源码 编辑:程序博客网 时间:2024/06/13 04:50
先上图,没图差不多就看不下去的,我懂!
来个毛爷的,看着好像就能发财一样。。。。
首先下载必要的文件和jar包:http://download.csdn.net/detail/xb12369/9516909
代码的结构:
1. 【资源文件】解压zip文件,将editor复制到项目的的webapps目录下。
2. 【jar包】将kindeditor/jsp/lib目录下的3个jar文件复制到Tomcat的lib目录下,并重新启动Tomcat。
* commons-fileupload-1.2.1.jar
* commons-io-1.4.jar
* json_simple-1.1.jar
3. 配置路径:
//文件保存目录路径
//String savePath = pageContext.getServletContext().getRealPath("/") + "attached/";
String savePath = (String)request.getAttribute("tempDir");
//文件保存目录URL
//String saveUrl = request.getContextPath() + "/attached/";
String saveUrl = request.getContextPath() + (String)request.getAttribute("imgDir");
这里有个说明:如果request.getAttribute不作类型转换的话,会报错的!即(String)request.getAttribute("imgDir");
4,根据自己对应的上传方式修改对应的上传部分的代码:
这是我的上传代码:
/*****************开始改造成自己的上传方法************************************/DefaultMultipartHttpServletRequest multipartRequest = (DefaultMultipartHttpServletRequest)request;if (multipartRequest != null) {Iterator<String> itr = multipartRequest.getFileNames();while (itr.hasNext()) {MultipartFile img = multipartRequest.getFile(itr.next().toString());String fileName = img.getOriginalFilename();//检查扩展名String fileExt = fileName.substring(fileName.lastIndexOf(".") + 1).toLowerCase();if(!Arrays.<String>asList(extMap.get(dirName).split(",")).contains(fileExt)){out.println(getError("上传文件扩展名是不允许的扩展名。\n只允许" + extMap.get(dirName) + "格式。"));return;}SimpleDateFormat df = new SimpleDateFormat("yyyyMMddHHmmss");String newFileName = df.format(new Date()) + "_" + new Random().nextInt(1000) + "." + fileExt;try{InputStream in = img.getInputStream();FileOutputStream fs = new FileOutputStream(savePath+newFileName); byte[] buffer = new byte[1024 * 1024];int byteread = 0; while ((byteread = in.read(buffer)) != -1) {fs.write(buffer, 0, byteread); } fs.close(); in.close(); }catch(Exception e){out.println(getError("上传文件失败。"));return;} JSONObject obj = new JSONObject();obj.put("error", 0);obj.put("url", saveUrl + newFileName);out.println(obj.toJSONString());}
提供的上传方式:
FileItemFactory factory = new DiskFileItemFactory();ServletFileUpload upload = new ServletFileUpload(factory);upload.setHeaderEncoding("UTF-8");List items = upload.parseRequest(request);Iterator itr = items.iterator();while (itr.hasNext()) {FileItem item = (FileItem) itr.next();String fileName = item.getName();long fileSize = item.getSize();if (!item.isFormField()) {//检查文件大小if(item.getSize() > maxSize){out.println(getError("上传文件大小超过限制。"));return;}//检查扩展名String fileExt = fileName.substring(fileName.lastIndexOf(".") + 1).toLowerCase();if(!Arrays.<String>asList(extMap.get(dirName).split(",")).contains(fileExt)){out.println(getError("上传文件扩展名是不允许的扩展名。\n只允许" + extMap.get(dirName) + "格式。"));return;}SimpleDateFormat df = new SimpleDateFormat("yyyyMMddHHmmss");String newFileName = df.format(new Date()) + "_" + new Random().nextInt(1000) + "." + fileExt;try{File uploadedFile = new File(savePath, newFileName);item.write(uploadedFile);}catch(Exception e){out.println(getError("上传文件失败。"));return;}JSONObject obj = new JSONObject();obj.put("error", 0);obj.put("url", saveUrl + newFileName);out.println(obj.toJSONString());}}
5、空格处理,如果不对某些特殊符号做特殊处理的话,会导致html代码丢失
存储的时候:
private String htmlspecialchars(String str) {str = str.replaceAll("&", "&");str = str.replaceAll("<", "<");str = str.replaceAll(">", ">");str = str.replaceAll("\"", """);return str;}
content = htmlspecialchars(content);if(!StringUtils.isEmpty(id)){Map<String, Object> map = new HashMap<String, Object>();map.put("content", content);this.activityInfoService.modify(id, map);}
取出来的时候:
private String htmlspecialchars(String str) {str = str.replaceAll("&", "&");str = str.replaceAll("<", "<");str = str.replaceAll(">", ">");str = str.replaceAll(""", "\"");//图片懒加载处理//<img class="scrollLoading" data-url="http://7xlv3q.com2.z0.glb.qiniucdn.com${item.img }" src="<%=request.getContextPath()%>/easyui/app_h5/activity/images/grey.gif" >//<img src="/imgs/image/20160511/20160511162627_319.jpg" alt="" /> str = str.replaceAll("src=", "data-url=").replaceAll("alt=\"\"", "class=\"scrollLoading\" src=\"<%=request.getContextPath()%>/easyui/app_h5/activity/images/grey.gif\"");return str;}
request.setAttribute("content", htmlspecialchars(info.getContent()));
good luck~
- java常用的编辑器之kindeditor
- kindEditor编辑器的使用
- kindeditor 编辑器的用法
- kindeditor编辑器 的使用方法!
- KindEditor编辑器的使用
- kindEditor编辑器的使用
- KindEditor编辑器的使用
- kindeditor编辑器的应用
- KindEditor编辑器的使用方法
- KindEditor编辑器的使用
- KindEditor 编辑器之简易使用
- html编辑器kindeditor的使用
- 网页编辑器kindeditor的使用
- 前端编辑器-kindeditor的使用
- KindEditor 4.x 在线编辑器常用使用方法
- KindEditor 4.x 在线编辑器常用使用方法
- SpringMVC+KindEditor在线编辑器之文件上传
- 多功能编辑器的使用技巧(kindeditor)
- 【bzoj2878】[Noi2012]迷失游乐园 环套树概率dp
- 如何将杂乱无章的js文件格式化
- operator new和operator delete
- gradle plugin user guide中文版
- Qt QTableWidget 最后一览自适应宽度 、QTableWidgetItem 文字 居中对其、 显示中文
- java常用的编辑器之kindeditor
- string.Format出现异常"输入的字符串格式有误"的解决方法
- 时间序列分析中的ARMA,ARIMA模型整体综述
- PAT乙级1005:继续(3n+1)猜想 (25)
- poj 2533 N皇后问题 -- 递归回溯(打表)
- git的学习(工作区与暂存区)
- Hive vs. HBase
- 去掉TableView中多余的分割线
- epoll-4