1,安裝
安裝就不多說了,除了一般的那個壓縮包外,ASP.NET版的FCKeditor另有一個FCKeditor.Net下載包,里面有一個Visual Studio的Solution,bin/Release里有一個FredCK.FCKeditorV2.dll文件,可以直接COPY到你的ASP.NET項目的bin文件夾里。
2,附件上傳流程
FCKeditor通過在編輯界面點擊Link或圖片按鈕打開一個模態對話框,在里面選擇本地文件后上傳。
這個對話框是Fckeditor/editor/dialog/fck_image.html或fck_link.html。
對話框的js代碼在fck_image和fck_link目錄里,它們還會調用common/fck_dialog_common.js
上面這些都是客戶端的事。
在Fckeditor/editor/filemanager/upload/aspx下有一個孤獨的upload.aspx,里面除了注釋外只有一句話,它的code behind 的代碼是在前面那個ASP.NET下載包里的Uploader.cs,已經被編譯進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項目的FCKeditor目錄里和upload.aspx放在一起。這樣,Uploader.cs就成了你的項目中的一部分,完全在你的控制之下。
打開Uploader.cs,里面代碼并不復雜。
首先,你應該加上自己的身份驗證。
然后,HttpPostedFile oFile = Request.Files["NewFile"];,獲得上傳文件,FCKeditor的客戶應當是一次只上傳一個,不必考慮多個同時上傳的情況。
獲得文件大小,oFile.ContentLength。
獲得文件名,HttpContext.Current.Request.Files[0].FileName,
要檢查后綴的話,System.IO.Path.GetExtension(FileName);
保存起來,oFile.SaveAs(sFilePath);文件名和路徑完全在你的控制中。
最后通過SendResults把錯誤代碼發回去,如果上傳成功,可以發0,然后是文件名和文件URL。
3.3客戶端
如果有興趣,可以研究修改一下客戶端的那些JS。
4.部署
解壓縮FCKeditor.Net壓縮包,打開里面的Solution,刪掉Uploader.cs,重新編譯FredCK.FCKeditorV2.dll,新的dll會小一點,在我這兒是從36K變成32K。(注意要編譯成Release版)。
最后用新的dll替換自己的項目里的老的dll。