FCKeditor 是一套非常不错的在线编辑器,它几乎囊括了现在网上所有的在线编辑器的功能,功能的实现相当完善,同时可自由定制功能按钮,支持多种语言环境下配置安装,现在http://sourceforge.net/上最新的版本是2.2,程序界面、功能相对2.0版本有较大的改进,但功能尚未完全实现,现在我用的还是2.0版本,我的FCKeditor 是在JSP环境下配置的,通过taglib实现调用,配置完界面如下:

讲完一些费话,现在回到文章的正题(FCKeditor+jspsmart实现文件上传),FCKeditor本身就带有文件上传组件,当然相对强大的jspsmart会逊色不少,正因为此,才萌发了用jspsmart替代现有的上传组件的想法,以下为详细的实现过程: 1.安装jspsmart,并调试成功! 2.修改/FCKeditor/filemanager/upload/jsp/upload.jsp 文件,把代码修改如下(声明:上传文件夹为/FCKeditor/filemanager/upload/jsp/upload/upload): <%@page contentType="text/html; charset=gb2312" language="java" import="com.jspsmart.upload.*"%> <jsp:useBean id="mySmartUpload" scope="page" class="com.jspsmart.upload.SmartUpload"/> <%@ page import="java.text.SimpleDateFormat" %> <%@ page import="java.util.*"%> <% java.util.Date myDate=new java.util.Date(); SimpleDateFormat formatter = new SimpleDateFormat("yyyyMMddHHmmss"); String mDate=formatter.format(myDate); try{ mySmartUpload.initialize(pageContext); mySmartUpload.setAllowedFilesList("jpg,gif,jpeg,txt,doc,pdf,png"); mySmartUpload.setTotalMaxFileSize(300000); mySmartUpload.upload(); com.jspsmart.upload.File myFile = mySmartUpload.getFiles().getFile(0); if (!myFile.isMissing()) { myFile.saveAs("/FCKeditor/filemanager/upload/jsp/upload/" + mDate + "." + myFile.getFileExt()); String sFileURL = "/local/FCKeditor/filemanager/upload/jsp/upload/" + mDate + "." + myFile.getFileExt() +""; %> <SCRIPT language=javascript> window.opener.setImage('<%=sFileURL %>') ; window.close() ; </SCRIPT> <% }else{out.println("<b>错误信息 : </b> 请你选择文件再上传!");} }catch (Exception e){ out.println("<b>错误信息 : </b>" + e.toString()); } %> 2.修改/FCKeditor/filemanager/browse/sample_jsp/browse.jsp文件中的相关变量: 第18行:String imagesDir="/FCKeditor/filemanager/upload/jsp/upload/"; 第41行:var sImagesPath = "/local/<%=selectedDir%>" ;//local为我当前tomcat的一个Context。 第83行:<IMG src="/local<%=selectedDir%>spacer.gif" id="imgPreview" width="200"> 3.ok!现在就可以通过jspsmart实现文件上传了,


|