CKEditor和CKFinder的最新版能夠到官方網站(http://cksource.com)上下載得到。 javascript
把以上兩個資源放到網站的根目錄: /CKEditor 和 /CKFinder (不區分大小寫)php
在頁面使用 CKEditor:html
<textarea cols="80" id="prcontent" name="content" rows="50">hello world!</textarea>java
<script type="text/javascript">web
CKEDITOR.replace('content', { height: 200, width: 520 });安全
</script>dom
CKEditor 自己不自帶上傳功能,因此須要配合CKFinder才能夠實現上傳ide
第一步:網站須要引用CKFinder的dll(目錄:/CKFinder/bin/Release/CKFinder.dll)函數
第二步:配置CKEditor的config.js (目錄:/CKEditor/config.js ) 在CKEDITOR.editorConfig函數里加上,不須要的功能能夠去掉工具
config.filebrowserBrowseUrl= '/ckfinder/ckfinder.html'; //上傳文件時瀏覽服務文件夾
config.filebrowserImageBrowseUrl= '/ckfinder/ckfinder.html?Type=Images'; //上傳圖片時瀏覽服務文件夾
config.filebrowserFlashBrowseUrl= '/ckfinder/ckfinder.html?Type=Flash'; //上傳Flash時瀏覽服務文件夾
config.filebrowserUploadUrl = '/ckfinder/core/connector/aspx/connector.aspx?command=QuickUpload&type=Files'; //上傳文件按鈕(標籤)
config.filebrowserImageUploadUrl= '/ckfinder/core/connector/aspx/connector.aspx?command=QuickUpload&type=Images'; //上傳圖片按鈕(標籤)
config.filebrowserFlashUploadUrl= '/ckfinder/core/connector/aspx/connector.aspx?command=QuickUpload&type=Flash'; //上傳Flash按鈕(標籤)
配置完成後CKEditor 就帶有上傳功能了,但假如上傳圖片時,圖片的文件是用原來圖片的名字,想改成隨機文件名呢,怎麼辦?接着看第三步。
第三步:修改CKFinder的源碼。CKFinder自帶有源碼,目錄:/CKFinde/_source
在VS裏新建一個 如今的項目 指向CKFinde/_source/CKFinder.Net.sln
1) 打開/Settings/ConfigFile.cs文件
定位27行,添加一個屬性:public bool RandomReName; //隨機重命名
定位67行,給剛纔的屬性賦值:RandomReName = true; //默認值爲true
保存關閉文件
2) 打開/Connector/Config.cs文件
定位62行,添加一個屬性:
public bool RandomReName
{
get { return Settings.ConfigFile.Current.RandomReName; }
}
保存關閉文件
3) 打開/Connector/CommandHandlers/FileUploadCommandHandler.cs文件
定位64行,添加一句判斷代碼:
if ( Config.Current.RandomReName) //使用隨機名
sFileName = DateTime.Now.ToString("yyyyMMddHHmmssfff") + "." + sExtension;
保存關閉文件
4) 從新生成項目,把/ckfinder/_source/bin/Debug/CKFinder.dll覆蓋/ckfinder/bin/Release/CKFinder.dll或者網站項目去掉以前加入的引用再從新從CKFinder.Net項目裏的Dll
最後一步:打開/ckfinder/config.ascx
定位42行,添加一屬性:(其實這個加不加均可以的,由於以前有設置默認值,但使用原名時必定要設置爲false)
//上傳完畢後使用隨機文件名
RandomReName = true;
保存關閉
好了,到此已經配置成功了,CKEditor 能夠有上傳功能了。其它的功能的設置,有空再繼續研究~
還要提醒一句:CKEditor 和 CKFinder 文件夾裏有不少不須要的東西,例如名字帶有下劃線前輟的,.net項目不須要php,asp的。
若是上傳文件出現錯誤:由於安全緣由,文件不可瀏覽. 請聯繫系統管理員並檢查CKFinder配置文件.
須要修改config.ascx文件中
public override bool CheckAuthentication()
{
reture false;
}
修改成:
public override bool CheckAuthentication()
{
// 窗體驗證時用
return Request.IsAuthenticated;
//reture true; 不推薦使用
}
CKFinder 的使用準備工做
1. 下載CKFinder的Asp.NET版,將其解壓到Web根目錄下
2. 複製/bin/Release目錄下的ckfinder.dll文件至站點bin目錄
3. 精簡目錄:
_samples文件夾(示例文件,能夠刪除)
_source文件夾(源程序文件,能夠刪除)
CKFinder的配置
1. 打開 」 \ckfinder\config.ascx 「,爲SetConfig方法中的 BaseUrl 指定默認路徑湘潭網站建設,如:
// 以userfiles 爲默認路徑,其目錄下會自動生成images、flash等子目錄。
BaseUrl = 」 ~/ckfinder/userfiles/」;
// NOTE:注意「 ~/ 」。
2. 與CKEditor集成
打開CKEditor目錄中的config.js文件在function 函數中
複製代碼 代碼以下:
// 自定義 CKEditor 樣式
CKEDITOR.editorConfig = function(config) {
……
};
加入以下內容:
複製代碼 代碼以下:
// 在 CKEditor 中集成 CKFinder,注意 ckfinder 的路徑選擇要正確。
config.filebrowserBrowseUrl = location.hash + ‘/ckfinder/ckfinder.html’;
config.filebrowserImageBrowseUrl = location.hash + ‘/ckfinder/ckfinder.html?Type=Images’;
config.filebrowserFlashBrowseUrl = location.hash+’/ckfinder/ckfinder.html?Type=Flash’;
config.filebrowserUploadUrl = location.hash + ‘/ckfinder/core/connector/aspx/connector.aspx?command=QuickUpload&type=Files’;
config.filebrowserImageUploadUrl = location.hash + ‘/ckfinder/core/connector/aspx/connector.aspx?command=QuickUpload&type=Images’;
config.filebrowserFlashUploadUrl = location.hash + ‘/ckfinder/core/connector/aspx/connector.aspx?command=QuickUpload&type=Flash’;
// config.filebrowserWindowWidth = ’800′;
// config.filebrowserWindowHeight = ’500′;
CKFinder的應用
1. 在工具欄中添加站點根目錄bin目錄中的ckfinder.dll控件
2. 拖放控件到Web頁面
3. 修改CKFinder控件屬性BasePath爲ckfinder目錄的相對路徑
常見問題
1. 症狀:由於安全緣由,文件不可瀏覽。請聯繫系統管理員並檢查CKFinder配置文件。
緣由:未設置用戶身份驗證或者用戶未登陸。
語句:
複製代碼 代碼以下:
public override bool CheckAuthentication()
{
return false;
}
解決:在CKFinder的config.ascx文件中修改public override bool CheckAuthentication() 加入用戶身份權限驗證方法。
2. 症狀:未知錯誤
緣由:設置不進行用戶身份驗證,可是 BaseUrl 路徑不對。
語句:
複製代碼 代碼以下:
public override bool CheckAuthentication()
{
return true ;
}
解決:在CKFinder的config.ascx文件中的public override void SetConfig() 修改
// 以userfiles 爲默認路徑,其目錄下會自動生成images、flash等子目錄。BaseUrl = 」 ~/ckfinder/userfiles/」;// NOTE:注意「 ~/ 」。3. 症狀:訪問帶有CKFinder的頁面時報錯「HTTP 錯誤 404 – Not Found」解決:修改CKFinder控件的BasePath屬性爲ckfinder目錄的相對路徑