fckeditor插入flash文件怎么会变成图片代码存到数据库了?插入的时候还是正常的FLASH代码,存到数据库一看居然是<IMG>标签了,,,有没有大侠能解释一下???100分悬赏!我用的是asp环境下的!
1、默认语言 打开fckconfig.js文件(相对FCKeditor文件夹,以下同),把自动检测语言改为不检测,把默认语言改为简体中文: 程序代码 FCKConfig.AutoDetectLanguage = false ; FCKConfig.DefaultLanguage = 'zh-cn' ; 2、字体列表 打开fckconfig.js文件,在字体列表中添加常用的“宋体;黑体;隶书;楷体_GB2312”: 程序代码 FCKConfig.FontNames = '宋体;黑体;隶书;楷体_GB2312;Arial;Comic Sans MS;Courier New;Tahoma;Times New Roman;Verdana' ; 3、文件上传 FCKeditor的文件管理程序在filemanager文件夹中,又分为浏览(browser)和上传(upload)两种。浏览是指浏览服务器文件并可以选择,也可以上传本地文件至服务器;上传是指快速上传(QuickUpload),在窗口中点“上传”选项卡打开就是,跟我们使用的UBB编辑器有点相似,选择本地文件后上传就行。 也就是说FCKeditor中有一个文件浏览,有两个文件上传,而这些设置有些在一个文件中,有的则在多个文件中。比较复杂,改动比较多,我们再分几个小点儿来说。 ①打开和关闭文件浏览和上传功能 有三个文件跟这个开关有关系,一个是js文件,两个是asp文件,前者关闭后界面中不出现相关窗口或按钮,后者关闭后相关功能不可用。 首先是fckconfig.js文件,以下内容设为true为开,false则为关。 文件浏览和浏览中上传功能: 程序代码 FCKConfig.LinkBrowser = false ; FCKConfig.ImageBrowser = false ; FCKConfig.FlashBrowser = false ; 文件快速上传功能: 程序代码 FCKConfig.LinkUpload = true ; FCKConfig.ImageUpload = true ; FCKConfig.FlashUpload = true ; 其次设置两个asp文件: editor\filemanager\browser\default\connectors\asp\config.asp 程序代码 ConfigIsEnabled = False 表示文件浏览关闭 editor\filemanager\upload\asp\config.asp 程序代码 ConfigIsEnabled = True 表示文件快速上传打开 ②文件上传或浏览的路径设置 注意FCKeditor是不支持虚拟目录的,您的所有路径都是针对网站根目录的绝对路径,这点对于在本地测试用虚拟目录,发布到远程用网站目录的开发者不太方便。我的就是这样,WinXP系统只能一个站点,只有用虚拟目录表示不同的网站,在本地测试好了,上传前还要临时更改这个设置。 文件浏览路径,打开文件editor\filemanager\browser\default\connectors\asp\config.asp: 程序代码 ConfigUserFilesPath = "/attachments/" 快速上传的路径,打开文件editor\filemanager\upload\asp\config.asp: 程序代码 ConfigUserFilesPath = "/attachments/" 我的文件目录在http://127.0.0.1/temp/下面,就照以上设置。如果在本地测试这个网站在虚拟目录xxx中,则应该设置为: 程序代码 ConfigUserFilesPath = "/127.0.0.1/temp/" ③文件快速上传的一个源文件BUG 以上设置好后,文件浏览和浏览中上传可以顺利进行,但是你会发现“快速上传”不能用。现象就是当选择好本地文件后,点击“上传至服务器”的按钮后没有任何反应。这就是因为fckconfig.js文件中的一个bug所致。 打开fckconfig.js文件,把FCKConfig.QuickUploadLanguage字样的地方,替换成_QuickUploadLanguage,一共要替换三个地方。前者没有定义就使用,所以有错,按代码意图应该和后者的值一样的。 ④上传文件名自动更名 FCKeditor不支持中文文件名称,所以我们要让文件存入服务器时更改名称。由于有两个上传的地方,而且所用文件不同,所以两个文件应该同时改,我们先来看看快速上传的文件,打开editor\filemanager\upload\asp\upload.asp,在文件最后添加以下函数: 程序代码 Public Function GetNewFileName() dim ranNum dim dtNow dtNow=Now() randomize ranNum=int(90*rnd)+10 GetNewFileName=year(dtNow) & right("0" & month(dtNow),2) & right("0" & day(dtNow),2) & right("0" & hour(dtNow),2) & right("0" & minute(dtNow),2) & right("0" & second(dtNow),2) & ranNum End Function 我们用年月日时分秒和两位随机数字来作为文件名,这样既能够分辨出文件上传时间,也不容易重名。 然后仍然是这个文件,找到: 程序代码 ' Get the uploaded file name. sFileName = oUploader.File( "NewFile" ).Name 把它改为: 程序代码 ' Get the uploaded file name. sFileName = GetNewFileName() &"."& split(oUploader.File( "NewFile" ).Name,".") 上面说的是快速上传的文件,而文件浏览中上传则是更改另外一个文件(editor\filemanager\browser\default\connectors\asp\commands.asp),其修改方法和上面那个文件一样:添加一个函数,修改一行代码。 4、在ASP源程序中引用FCKeditor编辑器 首先在asp页面顶端插入服务器端包含语句: 程序代码 <!--#include file="FCKeditor/fckeditor.asp" --> 然后在表单里面添加以下代码: 程序代码 ' 定义变量 Dim oFCKeditor ' 类的初始化 Set oFCKeditor = New FCKeditor ' 定义路径(默认路径:/FCKeditor/) oFCKeditor.BasePath="FCKeditor/" ' 定义工具条(默认为:Default) oFCKeditor.ToolbarSet="Basic" ' 定义宽度(默认宽度:100%) oFCKeditor.Width="100%" ' 定义高度(默认高度:200) oFCKeditor.Height=350 ' 输入框的初始值 oFCKeditor.Value="这是示例文本。" ' 创建输入框名为:content oFCKeditor.Create "content" 这样就在表单里面创建了一个隐藏的名称为content的输入框,可以和其他表单元素一样使用,例如用以下代码取得该输入框的值: 程序代码 Dim content content=CheckStr(Request.Form("content")) 以上用CheckStr对输入数据进行了检测,原始数据如果包含单引号之类的,那么更新数据库会出错。
如果你用jsp看下你是否在web.xml中配置了如下的文件<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>false</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>false</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>rar|zip|gz</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|js|exe</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>psd|fw</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>exe|flb</param-value> </init-param> <load-on-startup>1</load-on-startup> </servlet><servlet-mapping> <servlet-name>Connector</servlet-name> <url-pattern>/framework/fckeditor.2.6/editor/filemanager/browser/default/connectors/jsp/connector</url-pattern> </servlet-mapping> <servlet-mapping> <servlet-name>SimpleUploader</servlet-name> <url-pattern>/framework/fckeditor.2.6/editor/filemanager/upload/simpleuploader</url-pattern> </servlet-mapping>其中最关键导致你的错误的部分是 <init-param> <param-name>AllowedExtensionsFlash</param-name> <param-value>swf|fla</param-value> </init-param>如果没有扩展名过滤的话就会出现你说的问题,我也遇到过类似的问题