FCKeditor ASP.NET 上傳附件研究

來源:互聯網
上載者:User

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。

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.