FCKeditor的幾點(diǎn)修改小結(jié)
更新時(shí)間:2007年11月04日 12:58:52 作者:
在我的文章系統(tǒng)中,打算使用FCKeditor作為在線文本編輯器,在開(kāi)發(fā)過(guò)程中,有幾個(gè)地方需要對(duì)編輯器
進(jìn)行修改,才能滿足功能設(shè)計(jì)。
一、修改默認(rèn)的上傳文件名
FCKeditor上傳文件時(shí),默認(rèn)使用客戶端的文件名,遇到重名文件,則自動(dòng)重新命名,對(duì)于中文名稱
的文件也是如此,這樣對(duì)中文支持不好的服務(wù)器和瀏覽器,就容易對(duì)中文文件名的編解碼出現(xiàn)錯(cuò)誤而導(dǎo)致
亂碼,因此需要將默認(rèn)的文件命名方法修改為以當(dāng)前日期、時(shí)間為基本要素的文件名,同時(shí),為了避免重
復(fù),還要用到隨機(jī)函數(shù)。在.NET中,可以用System.Redom.Next(min, max)來(lái)生成一個(gè)介于min和max之間
的隨機(jī)數(shù),但要注意的時(shí),System.Redom必須實(shí)例化。
此處修改需要FCKeditor的源代碼并進(jìn)行重新編譯,使用VS.net 2003打開(kāi)工程文件,對(duì)Uploader.cs
文件進(jìn)行修改。
首先,將第46行string sFileName = System.IO.Path.GetFileName( oFile.FileName );注釋掉;
其次,在其下方加入如下代碼
DateTime dt = DateTime.Now;
string sFileName = dt.Year.ToString() + dt.Month.ToString() + dt.Day.ToString() +
dt.Hour.ToString() + dt.Minute.ToString() + dt.Second.ToString() + dt.Millisecond + new
System.Random().Next(0, 999).ToString();
sFileName += System.IO.Path.GetExtension( oFile.FileName );
這樣,sFileName就是形如“20070510171005230010.jpg”的文件名了,并且不可能出現(xiàn)重復(fù)文件名
的現(xiàn)象。
按下組合快捷鍵Ctrl+Shift+B生成解決方案,將項(xiàng)目文件夾下的bin/Debug/FredCK.FCKeditorV2.dll
組件拷貝到網(wǎng)站根目錄下的bin目錄中,即可在網(wǎng)站工程中進(jìn)行引用了。
二、把上傳的圖片動(dòng)態(tài)加入編輯器所在頁(yè)面的下拉列表中
由于需要指定文章的標(biāo)志圖片,除了輸入以外,還應(yīng)該可以從下拉列表中選擇已經(jīng)上傳的圖片,這樣
,就必須在FCKeditor上傳完圖片時(shí),*縱編輯器所在頁(yè)面的select,并為其加入新的option。此處的關(guān)
鍵在于對(duì)靜態(tài)模式網(wǎng)頁(yè)對(duì)話框父窗口的引用,以及利用javascript加入option。
打開(kāi)FCKeditor編輯器所在目錄的\editor\dialog\fck_image\fck_image.js文件,在文件上傳成功的
事件部分,加入以下代碼。
var ddl = oEditor.parent.document.Form1.ddlPicUrl;
var opt = oEditor.parent.document.createElement("OPTION")
opt.text = fileName;
opt.value= fileUrl
ddl.options.add(opt);
其中,oEditor是FCKeditor是對(duì)網(wǎng)頁(yè)對(duì)話框的父窗口的引用,而oEditor.parent就是對(duì)編輯器所在頁(yè)
面的引用了。
獲取這樣一個(gè)列表后,就可以在文章發(fā)布頁(yè)面編寫(xiě)相關(guān)的javascript函數(shù),來(lái)實(shí)現(xiàn)預(yù)覽、選擇等功能
進(jìn)行修改,才能滿足功能設(shè)計(jì)。
一、修改默認(rèn)的上傳文件名
FCKeditor上傳文件時(shí),默認(rèn)使用客戶端的文件名,遇到重名文件,則自動(dòng)重新命名,對(duì)于中文名稱
的文件也是如此,這樣對(duì)中文支持不好的服務(wù)器和瀏覽器,就容易對(duì)中文文件名的編解碼出現(xiàn)錯(cuò)誤而導(dǎo)致
亂碼,因此需要將默認(rèn)的文件命名方法修改為以當(dāng)前日期、時(shí)間為基本要素的文件名,同時(shí),為了避免重
復(fù),還要用到隨機(jī)函數(shù)。在.NET中,可以用System.Redom.Next(min, max)來(lái)生成一個(gè)介于min和max之間
的隨機(jī)數(shù),但要注意的時(shí),System.Redom必須實(shí)例化。
此處修改需要FCKeditor的源代碼并進(jìn)行重新編譯,使用VS.net 2003打開(kāi)工程文件,對(duì)Uploader.cs
文件進(jìn)行修改。
首先,將第46行string sFileName = System.IO.Path.GetFileName( oFile.FileName );注釋掉;
其次,在其下方加入如下代碼
DateTime dt = DateTime.Now;
string sFileName = dt.Year.ToString() + dt.Month.ToString() + dt.Day.ToString() +
dt.Hour.ToString() + dt.Minute.ToString() + dt.Second.ToString() + dt.Millisecond + new
System.Random().Next(0, 999).ToString();
sFileName += System.IO.Path.GetExtension( oFile.FileName );
這樣,sFileName就是形如“20070510171005230010.jpg”的文件名了,并且不可能出現(xiàn)重復(fù)文件名
的現(xiàn)象。
按下組合快捷鍵Ctrl+Shift+B生成解決方案,將項(xiàng)目文件夾下的bin/Debug/FredCK.FCKeditorV2.dll
組件拷貝到網(wǎng)站根目錄下的bin目錄中,即可在網(wǎng)站工程中進(jìn)行引用了。
二、把上傳的圖片動(dòng)態(tài)加入編輯器所在頁(yè)面的下拉列表中
由于需要指定文章的標(biāo)志圖片,除了輸入以外,還應(yīng)該可以從下拉列表中選擇已經(jīng)上傳的圖片,這樣
,就必須在FCKeditor上傳完圖片時(shí),*縱編輯器所在頁(yè)面的select,并為其加入新的option。此處的關(guān)
鍵在于對(duì)靜態(tài)模式網(wǎng)頁(yè)對(duì)話框父窗口的引用,以及利用javascript加入option。
打開(kāi)FCKeditor編輯器所在目錄的\editor\dialog\fck_image\fck_image.js文件,在文件上傳成功的
事件部分,加入以下代碼。
var ddl = oEditor.parent.document.Form1.ddlPicUrl;
var opt = oEditor.parent.document.createElement("OPTION")
opt.text = fileName;
opt.value= fileUrl
ddl.options.add(opt);
其中,oEditor是FCKeditor是對(duì)網(wǎng)頁(yè)對(duì)話框的父窗口的引用,而oEditor.parent就是對(duì)編輯器所在頁(yè)
面的引用了。
獲取這樣一個(gè)列表后,就可以在文章發(fā)布頁(yè)面編寫(xiě)相關(guān)的javascript函數(shù),來(lái)實(shí)現(xiàn)預(yù)覽、選擇等功能
相關(guān)文章
FCKeditor編輯器添加圖片上傳功能及圖片路徑問(wèn)題解決方法
現(xiàn)在很多CMS系統(tǒng)因?yàn)榘踩驎?huì)把后臺(tái)編輯器里的上傳功能給去除,但這樣一來(lái)對(duì)實(shí)際使用過(guò)程造成了很多麻煩,今天我們以ASPCMS系統(tǒng)的FCKeditor編輯器為例,說(shuō)明一下如何增加圖片上傳功能2014-04-04
快速解決百度編譯器json報(bào)錯(cuò)的問(wèn)題
下面小編就為大家?guī)?lái)一篇快速解決百度編譯器json報(bào)錯(cuò)的問(wèn)題。小編覺(jué)得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧2017-08-08
為SyntaxHighlighter添加新語(yǔ)言的方法
因?yàn)榻?jīng)常要在博客里貼一些Lua代碼,但是所使用的SyntaxHighlighter插件默認(rèn)不支持Lua語(yǔ)言,所以去研究了一下如何為SyntaxHighlighter添加并激活一個(gè)新的語(yǔ)言,這里將過(guò)程和有同樣需求的童鞋分享2013-10-10
Ueditor和CKeditor 兩款編輯器的使用與配置方法
這篇文章主要介紹了Ueditor和CKeditor 兩款編輯器的使用與配置方法,需要的朋友可以參考下2017-03-03
FCKeditor 2.6.5 ASP環(huán)境安裝配置使用說(shuō)明
今天用到在線編輯器在asp環(huán)境下上傳竟然無(wú)效。找了好久才找到這介紹,現(xiàn)備份于此,需要的朋友可以參考下2012-03-03
關(guān)于jsp版ueditor1.2.5的部分問(wèn)題解決(上傳圖片失敗)
這篇文章主要介紹大家在使用jsp版ueditor1.2.5的碰到的一些問(wèn)題解決方法,需要的朋友可以參考下2013-06-06
fckeditor編輯器下的自定義分頁(yè)符實(shí)現(xiàn)方法
今天在開(kāi)發(fā)后臺(tái)的時(shí)候需要用到自定義的分頁(yè)符,發(fā)現(xiàn)fckeditor編輯器下默認(rèn)的符號(hào)不好,dedecms也修改為自定義的,防止沖突2014-06-06

