最近因为项目中的需要,需要将管理后台Fckeditor上传的图片上传到统一的图片服务器(apache实现)中,取代现有上传保存到自身项目环境下~~ 调试代码过程将代码锁定到以下两个方法: (1)、net.fckeditor.connector.ConnectorServlet#doPost() (2)、net.fckeditor.tool.UtilsResponse#constructResponseUrl() 具体参数意义建议DEBUG设置断点的情况下,调研一下~~会发现一目了然改动第一步,设置远程上传,这个其实不是难点,ConnectorServlet#doPost() 最后部分添加将pathToSave该文件SFTP给图片服务器的功能。 (SFTP代码下次有时间的时候贴出~~) 使用过fckeditor的同仁应该都会注意到上传之后,input框中地址,也就是这个相对路径会被保存到数据库或者代码中~~,因此我们改动的下一步就是让上传图片之后,input框中地址显示的是绝对路径,也就是图片服务器地址 DEBUG模式下可以发现实现上传之后,会触发一个JS操作,切换DIV,以及相应的onComplete事件(单纯从页面和JS中很难找到,因为是通过IO流实现的,DEBUG下可以从IO流中发现) 这个RESPONSE是通过UtilsResponse的constructResponseUrl构建的,因此改动点出现了,在fckeditor.properties中添加一个属性,java代码去获取这个属性,如果配置了远程服务器,那直接返回图片服务器的地址,反之,继续原先的操作,返回相对项目图片保存路径
static String remoteFilePath = null;
static final String configureFile = "fckeditor.properties";
static {
Properties properties = PropertiesUtil.getProperties(configureFile);
remoteFilePath = properties.getProperty("connector.remoteFilePath");
}
public static String constructResponseUrl(HttpServletRequest request, ResourceTypeHandler resourceType, String urlPath, boolean prependContextPath, boolean fullUrl)
{
if (remoteFilePath == null || remoteFilePath.trim().length() == 0) {
StringBuffer sb = new StringBuffer();
if (fullUrl) {
String address = request.getRequestURL().toString();
sb.append(address.substring(0, address.indexOf(47, 8)) + request.getContextPath());
}
if ((prependContextPath) && (!(fullUrl)))
sb.append(request.getContextPath());
sb.append(ConnectorHandler.getUserFilesPath(request));
sb.append(resourceType.getPath());
if (Utils.isNotEmpty(urlPath))
sb.append(urlPath);
return sb.toString();
}
return remoteFilePath;
}
#fckeditor.properties connector.remoteFilePath=http://images.XXXX.com/images/
将修改后的代码重新打包一下,重新调试一下,OK,搞定收工~~~
分享到:
相关推荐
在探讨“fckeditor 2.5 上传图片会自动改名”这一问题时,我们首先需要理解FCKeditor(现在通常被称为CKEditor)的基本概念及其功能。FCKeditor是一款广泛应用于网页开发中的富文本编辑器,它允许用户在网页上进行...
远程图片上传插件是FCKeditor的一个重要扩展,允许用户直接从服务器或者网络上上传图片,增强了编辑器的多媒体功能。在v3.0版本中,该插件进行了进一步优化,提高了用户体验和稳定性。这个插件的集成,意味着用户...
- **内置上传组件**: Fckeditor内建了图片上传功能,用户可以通过编辑器界面选择本地图片并上传到服务器,无需离开编辑环境。 - **自定义上传路径**: 开发者可以配置图片上传的目标目录,以便更好地管理和组织上传...
在FCKeditor.Net中,用户可以通过内置的文件浏览器或上传对话框将本地图片上传到服务器。这涉及到后端的文件处理,通常使用ASP.NET或其他服务器端技术来接收和存储图片。上传过程通常需要考虑文件类型验证、大小...
FCKeditor的图片上传功能是其一大亮点,它允许用户在编辑文本时直接上传本地图片至服务器。这个Demo展示了如何配置和使用这一功能,包括设置上传路径、处理上传请求、保存图片到服务器等步骤。 4. **WebSite1项目*...
在【标题】"带图片上传功能的fckeditor.rar"中提到的版本,是FCKeditor的一个增强版,集成了图片上传功能,这对于需要频繁插入图片的博客系统来说尤其有用。本篇文章将深入探讨如何利用这个功能,以及其背后的PHP...
1. 扩展FCKeditor的文件管理器,添加对服务器目录的遍历和文件选择支持。 2. 配置服务器端的访问权限,确保用户只能访问指定的合法目录。 3. 实现一个服务器接口,用于处理文件的读取、预览和选择请求。 4. 在编辑器...
在"上传文本,图片,原格式"这个示例中,我们将深入探讨FCKeditor的核心功能以及如何实现这些功能。 1. **安装与集成** 在网站中使用FCKeditor,首先需要下载编辑器的源码并将其集成到项目中。在"WebSite2"文件夹...
当用户在FCKeditor中选择上传图片时,FCKeditor会向指定的`FileBrowserUploadUrl`发起POST请求,服务器端的Servlet接收到请求后,读取上传的文件并保存到服务器的特定目录。 **安全与优化** 在实际应用中,需要考虑...
在这个版本中,FCKeditor集成了远程图片保存功能,允许用户上传并保存图片到服务器,而不仅仅限于在本地计算机上的资源。 在ASP.NET中集成FCKeditor 2.5.1,开发者可以利用C#和.NET框架的强大功能,创建一个交互性...
添加删除上传文件(图片)的功能是 FCKeditor 的一个重要扩展,以下是实现该功能的详细步骤和知识点: _step 1: 添加删除文件函数_ 在 `fckeditor\editor\filemanager\browser\default\frmresourceslist.html` ...
如果默认功能不能满足需求,开发者可以编写自定义插件来扩展FCKEditor的功能。例如,可以创建一个插件,允许用户在上传图片前预览并手动调整缩略图的大小。 6. **优化用户体验** 图片截取功能不仅有助于控制页面...
用户可以通过编辑器的图像插入工具上传本地图片或者选择已存在的服务器图片,并进行编辑。这些编辑操作可能包括调整图片大小、添加链接、设置对齐方式等。此外,如果需要修改表情图片,开发者可以通过自定义编辑器的...
6. **处理上传结果**:当服务器响应上传结果时,根据返回的状态信息,更新FCKeditor中的图片列表或者显示上传失败的提示。如果上传成功,可能还需要将新上传的图片URL插入到编辑器内容中。 7. **用户体验优化**:...
而"视频上传插件"是FCKeditor的一个扩展功能,旨在方便用户在编辑内容时直接上传并嵌入视频,提升用户体验。 在FCKeditor视频上传插件中,通常会包含针对不同视频格式的支持。常见的视频格式有MP4、FLV、WMV、AVI、...
在之前的版本中,Fckeditor可能只提供了上传和插入图片的功能,但在2.6版本中,开发团队增加了删除图片的选项。这意味着用户在编辑文章时,如果发现误传或者不再需要某张图片,可以直接在编辑器内进行删除,而无需...
在使用FCKeditor上传图片时,如果没有正确配置Action,Struts2可能无法识别或处理上传请求。因此,你需要在`struts.xml`文件中为FCKeditor的上传操作创建一个专门的Action,并设置相应的接收路径。 2. **文件上传...
7. **安全性考虑**:在使用FCKeditor的本地上传功能时,必须确保服务器端的安全措施,例如设置适当的文件权限,防止恶意文件上传和执行,以及对上传文件进行病毒扫描。 8. **扩展与定制**:FCKeditor提供了丰富的...
- 修改或扩展API:根据需求可能需要修改或扩展FCKeditor的现有API,以支持FLV视频的特殊处理。 4. **工具使用**: - 使用IDE或文本编辑器:如Visual Studio Code、Sublime Text等,进行代码编写和调试。 - 使用...