FCKeditor ASP.NET 上傳附件研究
更新時(shí)間:2009年06月19日 23:30:51 作者:
FCKeditor很好用,而且是開(kāi)源軟件。最近研究了一下自帶的上傳功能,對(duì)源代碼作了一點(diǎn)修改,也算是依照開(kāi)源軟件的要求,介紹一下。
1,安裝
安裝就不多說(shuō)了,除了一般的那個(gè)壓縮包外,ASP.NET版的FCKeditor另有一個(gè)FCKeditor.Net下載包,里面有一個(gè)Visual Studio的Solution,bin/Release里有一個(gè)FredCK.FCKeditorV2.dll文件,可以直接COPY到你的ASP.NET項(xiàng)目的bin文件夾里。
2,附件上傳流程
FCKeditor通過(guò)在編輯界面點(diǎn)擊Link或圖片按鈕打開(kāi)一個(gè)模態(tài)對(duì)話框,在里面選擇本地文件后上傳。
這個(gè)對(duì)話框是Fckeditor/editor/dialog/fck_image.html或fck_link.html。
對(duì)話框的js代碼在fck_image和fck_link目錄里,它們還會(huì)調(diào)用common/fck_dialog_common.js
上面這些都是客戶端的事。
在Fckeditor/editor/filemanager/upload/aspx下有一個(gè)孤獨(dú)的upload.aspx,里面除了注釋外只有一句話,它的code behind 的代碼是在前面那個(gè)ASP.NET下載包里的Uploader.cs,已經(jīng)被編譯進(jìn)FredCK.FCKeditorV2.dll了。
3.修改Uploader.cs
3.1 把upload.aspx上唯一的那行代碼修改一下。
原版:< %@ page autoeventwireup="false" inherits="FredCK.FCKeditorV2.Uploader" language="c#" % >
修改為:< % @ page autoeventwireup="false" codefile="upload.aspx.cs" inherits="FCKUpload" language="c#" % >
這樣,upload.aspx就不再去FredCK.FCKeditorV2.dll尋找自己的behind code,而是在自己身邊找.
3.2 從FCKeditor.Net壓縮包里提取出Uploader.cs,放在自己的ASP.NET項(xiàng)目的FCKeditor目錄里和upload.aspx放在一起。這樣,Uploader.cs就成了你的項(xiàng)目中的一部分,完全在你的控制之下。
打開(kāi)Uploader.cs,里面代碼并不復(fù)雜。
首先,你應(yīng)該加上自己的身份驗(yàn)證。
然后,HttpPostedFile oFile = Request.Files["NewFile"];,獲得上傳文件,F(xiàn)CKeditor的客戶應(yīng)當(dāng)是一次只上傳一個(gè),不必考慮多個(gè)同時(shí)上傳的情況。
獲得文件大小,oFile.ContentLength。
獲得文件名,HttpContext.Current.Request.Files[0].FileName,
要檢查后綴的話,System.IO.Path.GetExtension(FileName);
保存起來(lái),oFile.SaveAs(sFilePath);文件名和路徑完全在你的控制中。
最后通過(guò)SendResults把錯(cuò)誤代碼發(fā)回去,如果上傳成功,可以發(fā)0,然后是文件名和文件URL。
3.3客戶端
如果有興趣,可以研究修改一下客戶端的那些JS。
4.部署
解壓縮FCKeditor.Net壓縮包,打開(kāi)里面的Solution,刪掉Uploader.cs,重新編譯FredCK.FCKeditorV2.dll,新的dll會(huì)小一點(diǎn),在我這兒是從36K變成32K。(注意要編譯成Release版)。
最后用新的dll替換自己的項(xiàng)目里的老的dll。
安裝就不多說(shuō)了,除了一般的那個(gè)壓縮包外,ASP.NET版的FCKeditor另有一個(gè)FCKeditor.Net下載包,里面有一個(gè)Visual Studio的Solution,bin/Release里有一個(gè)FredCK.FCKeditorV2.dll文件,可以直接COPY到你的ASP.NET項(xiàng)目的bin文件夾里。
2,附件上傳流程
FCKeditor通過(guò)在編輯界面點(diǎn)擊Link或圖片按鈕打開(kāi)一個(gè)模態(tài)對(duì)話框,在里面選擇本地文件后上傳。
這個(gè)對(duì)話框是Fckeditor/editor/dialog/fck_image.html或fck_link.html。
對(duì)話框的js代碼在fck_image和fck_link目錄里,它們還會(huì)調(diào)用common/fck_dialog_common.js
上面這些都是客戶端的事。
在Fckeditor/editor/filemanager/upload/aspx下有一個(gè)孤獨(dú)的upload.aspx,里面除了注釋外只有一句話,它的code behind 的代碼是在前面那個(gè)ASP.NET下載包里的Uploader.cs,已經(jīng)被編譯進(jìn)FredCK.FCKeditorV2.dll了。
3.修改Uploader.cs
3.1 把upload.aspx上唯一的那行代碼修改一下。
原版:< %@ page autoeventwireup="false" inherits="FredCK.FCKeditorV2.Uploader" language="c#" % >
修改為:< % @ page autoeventwireup="false" codefile="upload.aspx.cs" inherits="FCKUpload" language="c#" % >
這樣,upload.aspx就不再去FredCK.FCKeditorV2.dll尋找自己的behind code,而是在自己身邊找.
3.2 從FCKeditor.Net壓縮包里提取出Uploader.cs,放在自己的ASP.NET項(xiàng)目的FCKeditor目錄里和upload.aspx放在一起。這樣,Uploader.cs就成了你的項(xiàng)目中的一部分,完全在你的控制之下。
打開(kāi)Uploader.cs,里面代碼并不復(fù)雜。
首先,你應(yīng)該加上自己的身份驗(yàn)證。
然后,HttpPostedFile oFile = Request.Files["NewFile"];,獲得上傳文件,F(xiàn)CKeditor的客戶應(yīng)當(dāng)是一次只上傳一個(gè),不必考慮多個(gè)同時(shí)上傳的情況。
獲得文件大小,oFile.ContentLength。
獲得文件名,HttpContext.Current.Request.Files[0].FileName,
要檢查后綴的話,System.IO.Path.GetExtension(FileName);
保存起來(lái),oFile.SaveAs(sFilePath);文件名和路徑完全在你的控制中。
最后通過(guò)SendResults把錯(cuò)誤代碼發(fā)回去,如果上傳成功,可以發(fā)0,然后是文件名和文件URL。
3.3客戶端
如果有興趣,可以研究修改一下客戶端的那些JS。
4.部署
解壓縮FCKeditor.Net壓縮包,打開(kāi)里面的Solution,刪掉Uploader.cs,重新編譯FredCK.FCKeditorV2.dll,新的dll會(huì)小一點(diǎn),在我這兒是從36K變成32K。(注意要編譯成Release版)。
最后用新的dll替換自己的項(xiàng)目里的老的dll。
您可能感興趣的文章:
- asp.net+FCKeditor上傳圖片顯示叉叉圖片無(wú)法顯示的問(wèn)題的解決方法
- 修改fckeditor的文件上傳功能步驟
- 整合ckeditor+ckfinder,解決上傳文件路徑問(wèn)題
- 通過(guò)Fckeditor把圖片上傳到獨(dú)立圖片服務(wù)器的方法
- ASp.net下fckeditor配置圖片上傳最簡(jiǎn)單的方法
- FCKeditor編輯器添加圖片上傳功能及圖片路徑問(wèn)題解決方法
- 為ckeditor編輯器加上傳圖片的功能
- Asp.net FCKEditor 2.6.3 上傳文件沒(méi)有權(quán)限解決方法
- asp fckeditor自定義上傳文件的文件名
- CKEditor與dotnetcore實(shí)現(xiàn)圖片上傳功能
相關(guān)文章
CKEditor/FCKEditor 使用 CKeditor 3.0.1 快速使用教程(含插入圖片)
一般來(lái)說(shuō),我們?cè)诰庉媰?nèi)容時(shí),先是讀入到 textarea,再將 textarea 的內(nèi)容賦給編輯器。2010-03-03
解決SyntaxHighlighter 代碼高亮不換行問(wèn)題的解決方法
用SyntaxHighlighter 語(yǔ)法高亮插件的朋友可能都遇到過(guò)代碼顯示不換行的問(wèn)題,這個(gè)問(wèn)題在網(wǎng)上也找不到什么解決辦法,一直困擾了我很久,今天算是把它解決了,辦法其實(shí)簡(jiǎn)單,下面說(shuō)下如何解決2014-11-11
SyntaxHighlighter 語(yǔ)法高亮插件的使用教程
現(xiàn)在做it編程類信息的網(wǎng)站,提供的源碼如果能提供代碼高亮對(duì)代碼的閱讀效果會(huì)提高不少。2010-02-02
在asp.net中KindEditor編輯器的使用方法小結(jié)
由于國(guó)外的服務(wù)器好象對(duì)一些要引用dll編輯器由于安全問(wèn)題,鎖定了web.config中的一些權(quán)限,在先試了FreeTexbox不行,FCKEditor也不行,因?yàn)槎际且胐ll文件,最后同事介紹一款 純js的kindeditor編輯器,2010-12-12
FCKEditor 表單提交時(shí)運(yùn)行的代碼
我們?cè)谑褂胒ckeditor進(jìn)行提交的時(shí)候,會(huì)運(yùn)行的代碼,方便我們?cè)黾庸δ艿取?/div> 2009-06-06最新評(píng)論

