[求助]我用的fckeditor在线编辑器在window下上传图片正常,在linux下上传图片不正常,请求高手帮助。我的相关配置如下:
web.xml
<?xml version="1.0" encoding="ISO-8859-1"?><!DOCTYPE web-app
  PUBLIC "-//Sun Microsystems, Inc.//DTD Web Application 2.2//EN"
  "http://java.sun.com/j2ee/dtds/web-app_2_2.dtd"><web-app>
  <display-name>FCKeditor Test Application</display-name>
  
<servlet>
<servlet-name>Connector</servlet-name>
<servlet-class>com.fredck.FCKeditor.connector.ConnectorServlet</servlet-class>
<init-param>
<param-name>baseDir</param-name>
<param-value>/userfiles/</param-value>
</init-param>
<init-param>
<param-name>debug</param-name>
<param-value>true</param-value>
</init-param>
<load-on-startup>1</load-on-startup>
</servlet> <servlet>
<servlet-name>SimpleUploader</servlet-name>
<servlet-class>com.fredck.FCKeditor.uploader.SimpleUploaderServlet</servlet-class>
<init-param>
<param-name>baseDir</param-name>
<param-value>/userfiles/</param-value>
</init-param>
<init-param>
<param-name>debug</param-name>
<param-value>true</param-value>
</init-param>
<init-param>
<param-name>enabled</param-name>
<param-value>true</param-value>
</init-param>
<init-param>
<param-name>AllowedExtensionsFile</param-name>
<param-value></param-value>
</init-param>
<init-param>
<param-name>DeniedExtensionsFile</param-name>
<param-value>php|php3|php5|phtml|asp|aspx|ascx|jsp|cfm|cfc|pl|bat|exe|dll|reg|cgi</param-value>
</init-param>
<init-param>
<param-name>AllowedExtensionsImage</param-name>
<param-value>jpg|gif|jpeg|png|bmp</param-value>
</init-param>
<init-param>
<param-name>DeniedExtensionsImage</param-name>
<param-value></param-value>
</init-param>
<init-param>
<param-name>AllowedExtensionsFlash</param-name>
<param-value>swf|fla</param-value>
</init-param>
<init-param>
<param-name>DeniedExtensionsFlash</param-name>
<param-value></param-value>
</init-param>
<load-on-startup>1</load-on-startup>
</servlet>  <servlet-mapping>
    <servlet-name>Connector</servlet-name>
    <url-pattern>/FCKeditor/editor/filemanager/browser/default/connectors/jsp/connector</url-pattern>
  </servlet-mapping>
  
  <servlet-mapping>
    <servlet-name>SimpleUploader</servlet-name>
    <url-pattern>/FCKeditor/editor/filemanager/upload/simpleuploader</url-pattern>
  </servlet-mapping>  </web-app>

解决方案 »

  1.   

    fckconfig.js 相关配置如下FCKConfig.CustomConfigurationsPath = '' ;//自定义配置文件路径和名称FCKConfig.EditorAreaCSS = FCKConfig.BasePath + 'css/fck_editorarea.css' ;//编辑区的样式表文件   
    FCKConfig.EditorAreaStyles = '' ;//编辑区的样式表风格
    FCKConfig.ToolbarComboPreviewCSS = '' ;//工具栏预览CSSFCKConfig.DocType = '' ;//文档类型FCKConfig.BaseHref = '' ;//相对链接的基地址FCKConfig.FullPage = false ;//是否允许编辑整个HTML文件,还是仅允许编辑BODY间的内容// The following option determines whether the "Show Blocks" feature is enabled or not at startup.
    FCKConfig.StartupShowBlocks = false ;//决定是否启用"显示模块"FCKConfig.Debug = false ;//是否开启调试功能
    FCKConfig.AllowQueryStringDebug = true ;FCKConfig.SkinPath = FCKConfig.BasePath + 'skins/default/' ;//皮肤路径
    FCKConfig.SkinEditorCSS = '' ; // FCKConfig.SkinPath + "|<minified css>" ;
    FCKConfig.SkinDialogCSS = '' ; // FCKConfig.SkinPath + "|<minified css>" ;FCKConfig.PreloadImages = [ FCKConfig.SkinPath + 'images/toolbar.start.gif', FCKConfig.SkinPath + 'images/toolbar.buttonarrow.gif' ] ;//预装入的图片FCKConfig.PluginsPath = FCKConfig.BasePath + 'plugins/' ;//插件路径// FCKConfig.Plugins.Add( 'autogrow' ) ;
    // FCKConfig.Plugins.Add( 'dragresizetable' );
    FCKConfig.AutoGrowMax = 400 ;// FCKConfig.ProtectedSource.Add( /<%[\s\S]*?%>/g ) ; // ASP style server side code <%...%>
    // FCKConfig.ProtectedSource.Add( /<\?[\s\S]*?\?>/g ) ; // PHP style server side code
    // FCKConfig.ProtectedSource.Add( /(<asp:[^\>]+>[\s|\S]*?<\/asp:[^\>]+>)|(<asp:[^\>]+\/>)/gi ) ; // ASP.Net style tags <asp:control>FCKConfig.AutoDetectLanguage = false ;//是否自动检测语言
    FCKConfig.DefaultLanguage = 'zh-cn' ;//默认语言
    FCKConfig.ContentLangDirection = 'ltr' ;//默认的文字方向,可选"ltr/rtl",即从左到右或从右到左FCKConfig.ProcessHTMLEntities = true ;//处理HTML实体
    FCKConfig.IncludeLatinEntities = true ;//包括拉丁文
    FCKConfig.IncludeGreekEntities = true ;//包括希腊文FCKConfig.ProcessNumericEntities = false ;//处理数字实体FCKConfig.AdditionalNumericEntities = ''  ; // Single Quote: "'"附加的数字实体FCKConfig.FillEmptyBlocks = true ;//是否填充空块FCKConfig.FormatSource = true ;//在切换到代码视图时是否自动格式化代码
    FCKConfig.FormatOutput = true ;//当输出内容时是否自动格式化代码
    FCKConfig.FormatIndentator = '    ' ;//当在源码格式下缩进代码使用的字符FCKConfig.EMailProtection = 'none' ; // none | encode | function
    FCKConfig.EMailProtectionFunction = 'mt(NAME,DOMAIN,SUBJECT,BODY)' ;FCKConfig.StartupFocus = false ;//开启时焦点是否到编辑器,即打开页面时光标是否停留在fckeditor上
    FCKConfig.ForcePasteAsPlainText = false ;//是否强制粘贴为纯文件内容
    FCKConfig.AutoDetectPasteFromWord = true ; // IE only.是否自动探测从word粘贴文件,仅支持IE
    FCKConfig.ShowDropDialog = true ;//是否显示下拉菜单
    FCKConfig.ForceSimpleAmpersand = false ;//是否不把&符号转换为XML实体
    FCKConfig.TabSpaces = 0 ;//按下Tab键时光标跳格数,默认值为零为不跳格
    FCKConfig.ShowBorders = true ;//合并边框
    FCKConfig.SourcePopup = false ;//弹出
    FCKConfig.ToolbarStartExpanded = true ;//启动fckeditor工具栏默认是否展开
    FCKConfig.ToolbarCanCollapse = true ;//是否允许折叠或展开工具栏
    FCKConfig.IgnoreEmptyParagraphValue = true ;//是否忽略空的段落值
    FCKConfig.FloatingPanelsZIndex = 10000 ;//浮动面板索引
    FCKConfig.HtmlEncodeOutput = false ;//是否将HTML编码输出FCKConfig.TemplateReplaceAll = true ;//是否替换所有模板
    FCKConfig.TemplateReplaceCheckbox = true ;FCKConfig.ToolbarLocation = 'In' ;//工具栏位置FCKConfig.ToolbarSets["Default"] = [
    ['Source','DocProps','-','Save','NewPage','Preview','-','Templates'],
    ['Cut','Copy','Paste','PasteText','PasteWord','-','Print','SpellCheck'],
    ['Undo','Redo','-','Find','Replace','-','SelectAll','RemoveFormat'],
    ['Form','Checkbox','Radio','TextField','Textarea','Select','Button','ImageButton','HiddenField'],
    '/',
    ['Bold','Italic','Underline','StrikeThrough','-','Subscript','Superscript'],
    ['OrderedList','UnorderedList','-','Outdent','Indent','Blockquote','CreateDiv'],
    ['JustifyLeft','JustifyCenter','JustifyRight','JustifyFull'],
    ['Link','Unlink','Anchor'],
    ['Image','Flash','Table','Rule','Smiley','SpecialChar','PageBreak'],
    '/',
    ['Style','FontFormat','FontName','FontSize'],
    ['TextColor','BGColor'],
    ['FitWindow','ShowBlocks','-','About'] // No comma for the last row.
    ] ;FCKConfig.ToolbarSets["Basic"] = [
    ['Bold','Italic','-','OrderedList','UnorderedList','-','Link','Unlink','-','About']
    ] ;FCKConfig.EnterMode = 'p' ; // p | div | br
    FCKConfig.ShiftEnterMode = 'br' ; // p | div | brFCKConfig.Keystrokes = [
    [ CTRL + 65 /*A*/, true ],
    [ CTRL + 67 /*C*/, true ],
    [ CTRL + 70 /*F*/, true ],
    [ CTRL + 83 /*S*/, true ],
    [ CTRL + 84 /*T*/, true ],
    [ CTRL + 88 /*X*/, true ],
    [ CTRL + 86 /*V*/, 'Paste' ],
    [ CTRL + 45 /*INS*/, true ],
    [ SHIFT + 45 /*INS*/, 'Paste' ],
    [ CTRL + 88 /*X*/, 'Cut' ],
    [ SHIFT + 46 /*DEL*/, 'Cut' ],
    [ CTRL + 90 /*Z*/, 'Undo' ],
    [ CTRL + 89 /*Y*/, 'Redo' ],
    [ CTRL + SHIFT + 90 /*Z*/, 'Redo' ],
    [ CTRL + 76 /*L*/, 'Link' ],
    [ CTRL + 66 /*B*/, 'Bold' ],
    [ CTRL + 73 /*I*/, 'Italic' ],
    [ CTRL + 85 /*U*/, 'Underline' ],
    [ CTRL + SHIFT + 83 /*S*/, 'Save' ],
    [ CTRL + ALT + 13 /*ENTER*/, 'FitWindow' ],
    [ SHIFT + 32 /*SPACE*/, 'Nbsp' ]
    ] ;FCKConfig.ContextMenu = ['Generic','Link','Anchor','Image','Flash','Select','Textarea','Checkbox','Radio','TextField','HiddenField','ImageButton','Button','BulletedList','NumberedList','Table','Form','DivContainer'] ;
    FCKConfig.BrowserContextMenuOnCtrl = false ;
    FCKConfig.BrowserContextMenu = false ;FCKConfig.EnableMoreFontColors = true ;
    FCKConfig.FontColors = '000000,993300,333300,003300,003366,000080,333399,333333,800000,FF6600,808000,808080,008080,0000FF,666699,808080,FF0000,FF9900,99CC00,339966,33CCCC,3366FF,800080,999999,FF00FF,FFCC00,FFFF00,00FF00,00FFFF,00CCFF,993366,C0C0C0,FF99CC,FFCC99,FFFF99,CCFFCC,CCFFFF,99CCFF,CC99FF,FFFFFF' ;FCKConfig.FontFormats = 'p;h1;h2;h3;h4;h5;h6;pre;address;div' ;
    FCKConfig.FontNames = 'Arial;Comic Sans MS;Courier New;Tahoma;Times New Roman;Verdana' ;
    FCKConfig.FontSizes = 'smaller;larger;xx-small;x-small;small;medium;large;x-large;xx-large' ;FCKConfig.StylesXmlPath = FCKConfig.EditorPath + 'fckstyles.xml' ;
    FCKConfig.TemplatesXmlPath = FCKConfig.EditorPath + 'fcktemplates.xml' ;FCKConfig.SpellChecker = 'WSC' ; // 'WSC' | 'SCAYT' | 'SpellerPages' | 'ieSpell'
    FCKConfig.IeSpellDownloadUrl = 'http://www.iespell.com/download.php' ;
    FCKConfig.SpellerPagesServerScript = 'server-scripts/spellchecker.php' ; // Available extension: .php .cfm .pl
    FCKConfig.FirefoxSpellChecker = false ;FCKConfig.MaxUndoLevels = 15 ;FCKConfig.DisableObjectResizing = false ;
    FCKConfig.DisableFFTableHandles = true ;FCKConfig.LinkDlgHideTarget = false ;
    FCKConfig.LinkDlgHideAdvanced = false ;FCKConfig.ImageDlgHideLink = false ;
    FCKConfig.ImageDlgHideAdvanced = false ;FCKConfig.FlashDlgHideAdvanced = false ;FCKConfig.ProtectedTags = '' ;// This will be applied to the body element of the editor
    FCKConfig.BodyId = '' ;
    FCKConfig.BodyClass = '' ;FCKConfig.DefaultStyleLabel = '' ;
    FCKConfig.DefaultFontFormatLabel = '' ;
    FCKConfig.DefaultFontLabel = '' ;
    FCKConfig.DefaultFontSizeLabel = '' ;FCKConfig.DefaultLinkTarget = '' ;// The option switches between trying to keep the html structure or do the changes so the content looks like it was in Word
    FCKConfig.CleanWordKeepsStructure = false ;// Only inline elements are valid.
    FCKConfig.RemoveFormatTags = 'b,big,code,del,dfn,em,font,i,ins,kbd,q,samp,small,span,strike,strong,sub,sup,tt,u,var' ;// Attributes that will be removed
    FCKConfig.RemoveAttributes = 'class,style,lang,width,height,align,hspace,valign' ;FCKConfig.CustomStyles =
    {
    'Red Title' : { Element : 'h3', Styles : { 'color' : 'Red' } }
    };// Do not add, rename or remove styles here. Only apply definition changes.
    FCKConfig.CoreStyles =
    {
    // Basic Inline Styles.
    'Bold' : { Element : 'strong', Overrides : 'b' },
    'Italic' : { Element : 'em', Overrides : 'i' },
    'Underline' : { Element : 'u' },
    'StrikeThrough' : { Element : 'strike' },
    'Subscript' : { Element : 'sub' },
    'Superscript' : { Element : 'sup' }, // Basic Block Styles (Font Format Combo).
    'p' : { Element : 'p' },
    'div' : { Element : 'div' },
    'pre' : { Element : 'pre' },
    'address' : { Element : 'address' },
    'h1' : { Element : 'h1' },
    'h2' : { Element : 'h2' },
    'h3' : { Element : 'h3' },
    'h4' : { Element : 'h4' },
    'h5' : { Element : 'h5' },
    'h6' : { Element : 'h6' }, // Other formatting features.
    'FontFace' :
    {
    Element : 'span',
    Styles : { 'font-family' : '#("Font")' },
    Overrides : [ { Element : 'font', Attributes : { 'face' : null } } ]
    }, 'Size' :
    {
    Element : 'span',
    Styles : { 'font-size' : '#("Size","fontSize")' },
    Overrides : [ { Element : 'font', Attributes : { 'size' : null } } ]
    }, 'Color' :
    {
    Element : 'span',
    Styles : { 'color' : '#("Color","color")' },
    Overrides : [ { Element : 'font', Attributes : { 'color' : null } } ]
    }, 'BackColor' : { Element : 'span', Styles : { 'background-color' : '#("Color","color")' } }, 'SelectionHighlight' : { Element : 'span', Styles : { 'background-color' : 'navy', 'color' : 'white' } }
    };
      

  2.   

    // The distance of an indentation step.
    FCKConfig.IndentLength = 40 ;
    FCKConfig.IndentUnit = 'px' ;// Alternatively, FCKeditor allows the use of CSS classes for block indentation.
    // This overrides the IndentLength/IndentUnit settings.
    FCKConfig.IndentClasses = [] ;// [ Left, Center, Right, Justified ]
    FCKConfig.JustifyClasses = [] ;// The following value defines which File Browser connector and Quick Upload
    // "uploader" to use. It is valid for the default implementaion and it is here
    // just to make this configuration file cleaner.
    // It is not possible to change this value using an external file or even
    // inline when creating the editor instance. In that cases you must set the
    // values of LinkBrowserURL, ImageBrowserURL and so on.
    // Custom implementations should just ignore it.
    var _FileBrowserLanguage = 'php' ; // asp | aspx | cfm | lasso | perl | php | py 第一个是文件浏览器使用的语言
    var _QuickUploadLanguage = 'php' ; // asp | aspx | cfm | lasso | perl | php | py 第二个快速上传使用的语言,改成你需要的// Don't care about the following two lines. It just calculates the correct connector
    // extension to use for the default File Browser (Perl uses "cgi").
    var _FileBrowserExtension = _FileBrowserLanguage == 'perl' ? 'cgi' : _FileBrowserLanguage ;
    var _QuickUploadExtension = _QuickUploadLanguage == 'perl' ? 'cgi' : _QuickUploadLanguage ;FCKConfig.LinkBrowser = true ;
    FCKConfig.LinkBrowserURL = FCKConfig.BasePath + 'filemanager/browser/default/browser.html?Connector=connectors/jsp/connector';FCKConfig.LinkBrowserWindowWidth = FCKConfig.ScreenWidth * 0.7 ; // 70%
    FCKConfig.LinkBrowserWindowHeight = FCKConfig.ScreenHeight * 0.7 ; // 70%FCKConfig.ImageBrowser = true ;//是否在插入图片功能里面启用服务器文件浏览功能
    FCKConfig.ImageBrowserURL = FCKConfig.BasePath + 'filemanager/browser/default/browser.html?Type=Image&Connector=connectors/jsp/connector';
    //Type=Image   表示文件类型是image这会使文件浏览器定位到文件上传路径/image/文件夹下面
    FCKConfig.ImageBrowserWindowWidth  = FCKConfig.ScreenWidth * 0.7 ; // 70% ;
    FCKConfig.ImageBrowserWindowHeight = FCKConfig.ScreenHeight * 0.7 ; // 70% ;FCKConfig.FlashBrowser = true ;//是否在插入flash功能中启用服务器文件浏览功能
    FCKConfig.FlashBrowserURL = FCKConfig.BasePath + 'filemanager/browser/default/browser.html?Type=Flash&Connector=connectors/jsp/connector';FCKConfig.FlashBrowserWindowWidth  = FCKConfig.ScreenWidth * 0.7 ; //70% ;
    FCKConfig.FlashBrowserWindowHeight = FCKConfig.ScreenHeight * 0.7 ; //70% ;FCKConfig.LinkUpload = true ;//是否启用插入链接的快速上传功能
    FCKConfig.LinkUploadURL = FCKConfig.BasePath + 'filemanager/upload/simpleuploader?Type=File' ;FCKConfig.LinkUploadAllowedExtensions = ".(7z|aiff|asf|avi|bmp|csv|doc|fla|flv|gif|gz|gzip|jpeg|jpg|mid|mov|mp3|mp4|mpc|mpeg|mpg|ods|odt|pdf|png|ppt|pxd|qt|ram|rar|rm|rmi|rmvb|rtf|sdc|sitd|swf|sxc|sxw|tar|tgz|tif|tiff|txt|vsd|wav|wma|wmv|xls|xml|zip)$" ; // empty for all
    FCKConfig.LinkUploadDeniedExtensions = "" ; // empty for no one
    //这是两个允许和拒绝上传的文件类型列表
    FCKConfig.ImageUpload = true ;//是否启用图片快速上传功能
    FCKConfig.ImageUploadURL = FCKConfig.BasePath + 'filemanager/upload/simpleuploader?Type=Image' ;
    FCKConfig.ImageUploadAllowedExtensions = ".(jpg|gif|jpeg|png|bmp)$" ; // empty for all
    FCKConfig.ImageUploadDeniedExtensions = "" ; // empty for no oneFCKConfig.FlashUpload = true ;//是否启用flash上传功能
    FCKConfig.FlashUploadURL = FCKConfig.BasePath + 'filemanager/upload/simpleuploader?Type=Flash' ;FCKConfig.FlashUploadAllowedExtensions = ".(swf|flv)$" ; // empty for all
    FCKConfig.FlashUploadDeniedExtensions = "" ; // empty for no oneFCKConfig.SmileyPath = FCKConfig.BasePath + 'images/smiley/msn/' ;
    FCKConfig.SmileyImages = ['regular_smile.gif','sad_smile.gif','wink_smile.gif','teeth_smile.gif','confused_smile.gif','tounge_smile.gif','embaressed_smile.gif','omg_smile.gif','whatchutalkingabout_smile.gif','angry_smile.gif','angel_smile.gif','shades_smile.gif','devil_smile.gif','cry_smile.gif','lightbulb.gif','thumbs_down.gif','thumbs_up.gif','heart.gif','broken_heart.gif','kiss.gif','envelope.gif'] ;
    FCKConfig.SmileyColumns = 8 ;
    FCKConfig.SmileyWindowWidth = 320 ;
    FCKConfig.SmileyWindowHeight = 210 ;FCKConfig.BackgroundBlockerColor = '#ffffff' ;
    FCKConfig.BackgroundBlockerOpacity = 0.50 ;FCKConfig.MsWebBrowserControlCompat = false ;FCKConfig.PreventSubmitHandler = false ;
      

  3.   

    var _FileBrowserLanguage = 'php' 
    var _QuickUploadLanguage = 'php'
    这两个参数就这样生名就可以用了吗?这个在那里调用了?
      

  4.   

    linux下路径是/opt/xxx/xxx/xxx
    不能有空格