当前位置: 首页 > news >正文

fckEditor的使用以及图片上传不显示解决

写过博客的都是 在写博客的textarea 上面有一些按钮 类似 word 工具栏 他们其实就是xhEditor.网页编辑器。今天记录的也是一种网页编辑器。就是FCkEditor。使用他需要准备前端FckEditor插件包。可以在官网下载https://ckeditor.com/  还有就是java-core2.6.jar . 将他们引入工程里。

前端代码如下:

<%@ taglib prefix="shiro" uri="http://shiro.apache.org/tags"%>
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core"%>
<c:set var="ctx" value="${pageContext.request.contextPath }"></c:set>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>Insert title here</title>
<script type="text/javascript" src="${ctx}/fckeditor/fckeditor.js"></script>
<script type="text/javascript">
$(function(){var fck=new FCKeditor("mytext");//设置根目录var path="${pageContext.request.contextPath }";fck.BasePath=path+"/fckeditor/";fck.Height=400;fck.Config["ImageUploadURL"]=path+"/edit/uploadForFck";//渲染到textareafck.ReplaceTextarea();
});
</script>
</head>
<body>
<textarea id="mytext"></textarea>
</body>
</html>
这里说明一下 :我的jquery-1.12.4.js js的核心 其实已经引入了。这个页面是ajax 局部刷新的 所以没有再次引用。假如只是新的页面的话需要核心js 引入。配置文件信息可以
到fckeditor/fckconfig.js 中查看  在页面js中修改。

注意二:我的fckeditor 放在webapp 下,其他页面使用他的话 使用

pageContext.request.contextPath 加上+文件路劲 (绝对路径) 这样可以无论你的使用页面在哪里  都可以找到引用的文件。
重点:通过查阅资料发现要实现上传的话需要修改
fck.Config["ImageUploadURL"]=path+"/edit/uploadForFck";
这是自己上传路径。经过测试发现图片不显示。火狐浏览器没有报错。于是在IE测试发现图片报资源找不到。原来是因为我上传到本地的D:/upoload 浏览器网站不允许直接去盘里直接访问
所以自己需要修改路径 也就是在tomcat 配置虚拟路径。如下: <Context debug="0" docBase="D:\" path="/file" reloadable="true"/> 这样在java 上传到本地后 fck需要回显的话路径写虚拟路径。
Java 上传代码:

	@RequestMapping("/uploadForFck")public void uploadForFck(HttpServletRequest request, PrintWriter out) throws IOException{//强制转换requestMultipartHttpServletRequest mr = (MultipartHttpServletRequest) request;//获得文件Iterator<String> iter = mr.getFileNames();String fileInputName = iter.next();MultipartFile mf = mr.getFile(fileInputName);//获得文件的字节数组byte[] byteArr = mf.getBytes();String fileName = new SimpleDateFormat("yyyyMMddHHmmssSSS").format(new Date());Random  random = new Random();for(int i = 0 ; i < 3; i++){fileName = fileName + random.nextInt(10);}//获得原始文件名String oriFileName = mf.getOriginalFilename();String suffix = oriFileName.substring(oriFileName.lastIndexOf("."));//获得上传文件的绝对路径String realPath =  "D:/"+fileName + suffix;String path="/file/"+fileName + suffix;FileCopyUtils.copy(byteArr, new FileOutputStream(new File(realPath)));//创建fck的上传的响应对象UploadResponse ur = UploadResponse.getOK(path);out.print(ur);}



http://www.xdnf.cn/news/852625.html

相关文章:

  • iPhone / iPad iOS 5.0.1完美 越狱 教程 A4/A5处理器
  • [2011-04-30]返现网排行榜
  • 热血江湖按键精灵游戏脚本!
  • 【转载】DC的逻辑综合与优化
  • 于娟的忠告----生命只有一次,活着才是王道啊!!!
  • Windows下的MS17-010(永恒之蓝)漏洞分析与复现
  • 10款精选的后台管理系统,收藏吧!
  • <网络>初识计算机网络
  • 测度定义_测度论整理(一)
  • 一套非常完整的机房装修方案
  • [内网渗透]内网基础知识
  • JailbreakMe.com-最新浏览器模式破解iPhones,iPads和iPod Touches方法
  • Html中Label标记的作用和使用介绍
  • 计算机软硬件介绍
  • JSP中 forward() 与redirect()的区别?
  • Aptana Studio 3的安装配置和使用教程
  • (转)25款实用的桌面版博客编辑器
  • Tomcat服务部署、虚拟主机配置及参数优化
  • VS2010 MSDN2010安装及使用(MSDN Library)
  • 【转】多核CPU运行模式
  • 输入法手机版 Android 2.3,提升效率 Android 2.3输入法安装教程
  • SSM 智能体育馆管理系统-计算机毕设 附源码70093
  • linux设备驱动模型一上层容器之device
  • 怎么用光盘重装系统教程
  • 【网络安全零基础入门必知必会】TCP/IP协议深入解析(非常详细)零基础入门到精通,收藏这一篇就够了
  • U盘修复工具哪个好?7款U盘低格工具详解
  • 最好最牛的101个网站 【达人必修】
  • 威客介绍
  • magent java_bt种子简介与magnet磁力介绍
  • 启动应用程序出现mfc71d.dll找不到问题解决