C# ckeditor+ckfinder的图片上传配置
?
CKEditor和CKFinder的最新版可以到官方網(wǎng)站(http://cksource.com)上下載獲得。?
把以上兩個(gè)資源放到網(wǎng)站的根目錄:?/CKEditor 和 /CKFinder (不區(qū)分大小寫)
在頁(yè)面使用?CKEditor:
?? ? ? ?<textarea cols="80" id="prcontent" name="content" rows="50">hello world!</textarea>
?? ? ? ?<script type="text/javascript">
?? ? ? ? ? ?CKEDITOR.replace('content', { height: 200, width: 520 });
?? ? ? ?</script>
CKEditor 本身不自帶上傳功能,所以需要配合CKFinder才可以實(shí)現(xiàn)上傳
第一步:網(wǎng)站需要引用CKFinder的dll(目錄:/CKFinder/bin/Release/CKFinder.dll)
第二步:配置CKEditor的config.js (目錄:/CKEditor/config.js?) 在CKEDITOR.editorConfig函數(shù)里加上,不需要的功能可以去掉
?? ?config.filebrowserBrowseUrl= '/ckfinder/ckfinder.html'; //上傳文件時(shí)瀏覽服務(wù)文件夾
?? ?config.filebrowserImageBrowseUrl= '/ckfinder/ckfinder.html?Type=Images';?//上傳圖片時(shí)瀏覽服務(wù)文件夾
?? ?config.filebrowserFlashBrowseUrl= '/ckfinder/ckfinder.html?Type=Flash';??//上傳Flash時(shí)瀏覽服務(wù)文件夾
?? ?config.filebrowserUploadUrl = '/ckfinder/core/connector/aspx/connector.aspx?command=QuickUpload&type=Files'; //上傳文件按鈕(標(biāo)簽)
?? ?config.filebrowserImageUploadUrl= '/ckfinder/core/connector/aspx/connector.aspx?command=QuickUpload&type=Images'; //上傳圖片按鈕(標(biāo)簽)
?? ?config.filebrowserFlashUploadUrl= '/ckfinder/core/connector/aspx/connector.aspx?command=QuickUpload&type=Flash';?//上傳Flash按鈕(標(biāo)簽)
配置完成后CKEditor 就帶有上傳功能了,但假如上傳圖片時(shí),圖片的文件是用原來圖片的名字,想改為隨機(jī)文件名呢,怎么辦?接著看第三步。
?
第三步:修改CKFinder的源碼。CKFinder自帶有源碼,目錄:/CKFinde/_source
在VS里新建一個(gè) 現(xiàn)在的項(xiàng)目 指向CKFinde/_source/CKFinder.Net.sln
1) 打開/Settings/ConfigFile.cs文件
定位27行,添加一個(gè)屬性:public bool RandomReName; //隨機(jī)重命名
定位67行,給剛才的屬性賦值:RandomReName = true; //默認(rèn)值為true
保存關(guān)閉文件
2) 打開/Connector/Config.cs文件
定位62行,添加一個(gè)屬性:
?? ? ? ?public bool RandomReName
?? ? ? ?{
?? ? ? ? ? ?get { return Settings.ConfigFile.Current.RandomReName; }
?? ? ? ?}
保存關(guān)閉文件
3) 打開/Connector/CommandHandlers/FileUploadCommandHandler.cs文件
定位64行,添加一句判斷代碼:
?? ? ? ? ? ? ? ? ? ? ? ?if ( Config.Current.RandomReName) ?//使用隨機(jī)名
?? ? ? ? ? ? ? ? ? ? ? ? ? ?sFileName = DateTime.Now.ToString("yyyyMMddHHmmssfff") + "." + sExtension;
保存關(guān)閉文件
4) 重新生成項(xiàng)目,把/ckfinder/_source/bin/Debug/CKFinder.dll覆蓋/ckfinder/bin/Release/CKFinder.dll或者網(wǎng)站項(xiàng)目去掉之前加入的引用再重新從CKFinder.Net項(xiàng)目里的Dll
最后一步:打開/ckfinder/config.ascx
定位42行,添加一屬性:(其實(shí)這個(gè)加不加都可以的,因?yàn)橹坝性O(shè)置默認(rèn)值,但使用原名時(shí)一定要設(shè)置為false)
?? ? ? ?//上傳完畢后使用隨機(jī)文件名
?? ? ? ?RandomReName = true;
保存關(guān)閉
好了,到此已經(jīng)配置成功了,CKEditor 可以有上傳功能了。其它的功能的設(shè)置,有空再繼續(xù)研究~
還要提醒一句:CKEditor 和?CKFinder 文件夾里有很多不需要的東西,例如名字帶有下劃線前輟的,.net項(xiàng)目不需要php,asp的。
如果上傳文件出現(xiàn)錯(cuò)誤:因?yàn)榘踩?#xff0c;文件不可瀏覽. 請(qǐng)聯(lián)系系統(tǒng)管理員并檢查CKFinder配置文件.
需要修改config.ascx文件中
public override bool CheckAuthentication()
{
reture false;
}
修改為:
public override bool CheckAuthentication()
{
// 窗體驗(yàn)證時(shí)用
?return Request.IsAuthenticated;
//reture true; 不推薦使用
}
轉(zhuǎn)載于:https://www.cnblogs.com/ksmy/archive/2011/07/12/2104417.html
總結(jié)
以上是生活随笔為你收集整理的C# ckeditor+ckfinder的图片上传配置的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Hadoop 部署实例
- 下一篇: 从程序设计角度看B/S C/S到底有什么