FCKeditor 在 linux 下 无法上传图片的问题,解决方案

来源:互联网 发布:旅游成都和长沙 知乎 编辑:程序博客网 时间:2024/05/17 18:18

在linux环境下,这是绝对的路径问题,在apache+tomcat服务器运行J2EE项目,在配置的时候一般只是将*.JSP,*.do的交给tomcat去处理,而JAVA版的FCKeditor是通过servlet来上传图片的,所以正确配置servlet映射是解决问题的关键,可以参照如下配置:
web.xml中:
<servlet>
<servlet-name>Connector </servlet-name>
<servlet-class>
net.fckeditor.connector.ConnectorServlet
</servlet-class>
<init-param>
<param-name>debug </param-name>
<param-value>true </param-value>
</init-param>

<load-on-startup>1 </load-on-startup>
</servlet>
<servlet-mapping>
<servlet-name>Connector </servlet-name>
<url-pattern>
<!-- Mod Start 2009.10.19 Rongdajian -->
<!-- /fckeditor/editor/filemanager/connectors/* -->
<!-- 在apache+tomcat整合后,只做了.jsp,do交给tomcat去处理,而servlet没有做处理,所以加上/servlet后tomcat就可以处理了 -->
/servlet/fckeditor/editor/filemanager/connectors/*
<!-- Mod end 2009.10.19 Rongdajian -->
</url-pattern>
</servlet-mapping>
注意红色加粗的部分
fckconfig.js中也要作相应的修改:
增加下面这句代码:
FCKConfig.ServletPath = FCKConfig.BasePath.replace('/fckeditor/editor/', '/servlet/fckeditor/editor');
这句代码非常我重要!!!
然后再做以下等值替换:
FCKConfig.ImageBrowserURL = FCKConfig.BasePath + 'filemanager/browser/default/browser.html?Type=Image&Connector=' + encodeURIComponent( FCKConfig.BasePath + 'filemanager/connectors/' + _FileBrowserLanguage + '/connector.' + _FileBrowserExtension ) ;
替换成:
FCKConfig.ImageBrowserURL = FCKConfig.BasePath + 'filemanager/browser/default/browser.html?Type=Image&Connector=' + encodeURIComponent( FCKConfig.ServletPath + '/filemanager/connectors/' + _FileBrowserLanguage + '/connector.' + _FileBrowserExtension ) ;

FCKConfig.ImageUploadURL = FCKConfig.BasePath + 'filemanager/connectors/' + _QuickUploadLanguage + '/upload.' + _QuickUploadExtension + '?Type=Image' ;
替换成:
FCKConfig.ImageUploadURL = FCKConfig.ServletPath + '/filemanager/connectors/' + _QuickUploadLanguage + '/upload.' + _QuickUploadExtension + '?Type=Image' ;

这样就可正常的上传图片和浏览服务器图片,此配置在linux服务器测试通过!