CuteEditor是一款功能非常強大,支援圖片上傳、檔案下載和word類似的文字編輯器。對於新聞發布系統和部落格之類的系統,是非常的方便的。
一、CuteEditor的配置
1、將以下檔案考貝到你網站根目錄下的bin內(這些在CuteEditor6.0/bin下都可以找到)
CuteEditor.dll,
CuteEditor.ImageEditor.dll(6.0增加的EditorImage功能),
CuteEditor.lic(解密檔案),
NetSpell.SpellChecker.dll(拼字檢查功能)
註:(“.dic”為副檔名的檔案是詞典儲存為純文字檔案的格式。將CuteEditor6.0/bin檔案夾裡的都拷到網站根目錄下的bin內也可以)
2、將CuteSoft_Client檔案夾拷貝到項目的根目錄
CuteSoft_Client包含CuteEditor檔案夾和example.css,放了控制項圖片,檔案之類的資料example.css它指定了編輯器的樣式。(在2.0下可能要把dialog檔案夾裡面的getfilethub.aspx刪除)
注:FilesPath用來設定所對應的目錄,如:FilesPath="~/admin/CuteSoft_Client/CuteEditor/"
3、在根目錄下建立Uploads的檔案夾作為上傳圖片及附件的根目錄
4、將CuteEditor.dll添加到工具箱
先在工具箱空白處右擊選擇“添加選擇項”,給選項卡添加一外名稱為:CuteEditor。再在該選項卡中右擊,選擇“選擇項 ”,在彈出的對話方塊的“.NET Frameword組件”標籤中選擇要添加的DLL檔案即可。
5、CuteEditor屬性設定(假設當前頁在根目錄下)
1)AutoConfigure設為simple,即選擇最簡單的介面顯示方式
2)EditorWysiwygModecss設為:CuteSoft_Client/example.cs,需要把example.css檔案放到該目錄下。
3)FilesPath設為:CuteSoft_Client/CuteEditor,設定CuteEditor目錄的路徑
6、控制項的調用代碼如下:
<%@ Register TagPrefix="CE" Namespace="CuteEditor" Assembly="CuteEditor" %> 如果是按照第4步從工具箱中拖放到頁面的話,則此代碼會自動產生,不需要要手動添加。
<CE:EDITOR id="Editor1" runat="server" Width="700px" FilesPath="~/CuteSoft_Client/CuteEditor/" EditorWysiwygModeCss="../example.css" ThemeType="Office2003_BlueTheme"></CE:EDITOR>
二、基本屬性:
EditorWysiwygModeCss :設定樣式
ThemeType :設定風格
AutoConfigure :選擇功能是簡單還是複雜的
Text :設定載入時候預設內容
MaxHTMLLength :設定最大長度
BreakElement :預設“斷行符號”產生什麼HTML
URLType :沒發現有什麼區別
ResizeMode :自動長度(長度設定的幾中形式)
ReadOnly :是否為唯讀
CustomCulture :設定語言類型 china 為zh-cn
EditCompleteDocument :設定是否完整的HTML頁面代碼(也就是說是不是包括html頭)
AllowPasteHtml :是否允許粘帖HTML代碼
EnableContextMenu :在文本裡是否顯示右鍵菜單
三、CuteEditor檔案夾裡的配置
1)控制工具攔顯示:在CuteSoft_Client/CuteEditor/Configuration/AutoConfigure 裡設定
2)控制右鍵顯示:CuteSoft_Client/CuteEditor/Configuration/ContextMenuMode裡設定
3)設定許可權:CuteSoft_Client/CuteEditor/Configuration/Security裡設定
例如要設定各種組件的大小等屬性限制,如控制上傳檔案的大小等,可在CuteSoft_Client/CuteEditor/Configuration/Security修改“Security”檔案夾中的“Default.config”檔案即可
==========================
<?xml version="1.0" encoding="utf-8" ?>
<configuration>
<security name="RestrictUploadedImageDimension">true</security> //是否限制上傳圖象尺寸
<security name="OverWriteExistingUploadedFile">false</security> //如果上傳的檔案已經存在,是否將其覆蓋
<security name="UseTimeStampRenameUploadedFiles">true</security> //重新命名為時間
<security name="AutoResizeUploadedImages">true</security> //是否自動調整上傳圖象
<security name="MaxImageWidth">1024</security> //上傳圖象的最大寬度
<security name="MaxImageHeight">768</security> //上傳圖象的最小寬度
<security name="MaxImageSize">1000</security> //上傳圖象檔案的最大值
<security name="MaxMediaSize">100</security> //上傳媒體檔案的最大值
<security name="MaxFlashSize">100</security> //上傳Flash檔案的最大值
<security name="MaxDocumentSize">10000</security> //文檔最大值
<security name="MaxTemplateSize">1000</security> //模板最大值
<security name="ImageGalleryPath">~/uploads</security> //圖象檔案上傳路徑
<security name="MediaGalleryPath">~/uploads</security> //媒體檔案上傳路徑
<security name="FlashGalleryPath">~/uploads</security> //Flash檔案上傳路徑
<security name="TemplateGalleryPath">~/templates</security> //模板路徑
<security name="FilesGalleryPath">~/uploads</security> //檔案庫路徑
<security name="MaxImageFolderSize">102400</security> //圖象檔案夾最大值
<security name="MaxMediaFolderSize">102400</security> //媒體檔案夾最大值
<security name="MaxFlashFolderSize">102400</security> //Flash檔案夾最大值
<security name="MaxDocumentFolderSize">102400</security> //文檔檔案夾最大值
<security name="MaxTemplateFolderSize">102400</security> //模板檔案夾最大值
<security name="ThumbnailWidth">80</security> //最小寬度
<security name="ThumbnailHeight">80</security> //最小高度
<security name="ThumbnailColumns">5</security> //最小列數
<security name="ThumbnailRows">3</security> //最小行數
<security name="AllowUpload">true</security> //是否允許上傳
<security name="AllowModify">true</security> //是否允許修改
<security name="AllowRename">true</security> //是否允許重新命名
<security name="AllowDelete">true</security> //是否允許刪除
<security name="AllowCopy">true</security> //是否允許複製
<security name="AllowMove">true</security> <!-- this is rename too --> //是否允許移動
<security name="AllowCreateFolder">true</security> //是否允許建立檔案夾
<security name="AllowDeleteFolder">true</security> //是否允許刪除檔案夾
<security name="ImageFilters"> //這裡過濾(設定)圖象檔案格式
<item>.jpg</item>
<item>.jpeg</item>
<item>.gif</item>
<item>.png</item>
</security>
<security name="MediaFilters"> //這裡過濾(設定)媒體檔案格式
<item>.avi</item>
<item>.mpg</item>
<item>.mpeg</item>
<item>.mp3</item>
</security>
<security name="DocumentFilters"> //這裡過濾(設定)文檔檔案格式
<item>.txt</item>
<item>.doc</item>
<item>.pdf</item>
<item>.zip</item>
<item>.rar</item>
<item>.avi</item>
<item>.mpg</item>
<item>.mpeg</item>
<item>.swf</item>
<item>.jpg</item>
<item>.jpeg</item>
<item>.gif</item>
<item>.png</item>
<item>.htm</item>
</security>
</configuration>
========================
4)設定工具攔按鈕具體功能:CuteSoft_Client/CuteEditor/Configuration/Shared 裡設定
5)設定工具攔按鈕具體功能:CuteSoft_Client/CuteEditor/Configuration/Shared 裡設定
6)設定語言:CuteSoft_Client/CuteEditor/Configuration/Languages裡設定
7)添加字型:CuteSoft_Client/CuteEditor/Configuration/Shared/Common.config裡設定
感覺 CuteEditor 每處都可以 改變,因為它整體思路都是用摸板,具體體現形式寫在設定檔裡面。使用者修改設定檔或是它提供的屬性就可以實現自己的功能!
四、CuteEditor的伺服器端控制
1)設定編輯器的預設文本:
Editor1.Text = "Default Text"; //伺服器端方法
var editor = document.getElementById('<%=Editor1.ClientID %>'); //JavaScript方法
var editorText = editor.getHTML();
2)修改檔案的上傳目錄:Editor1.SetSecurityGalleryPath("~/uploads/jpg");
修改上傳檔案的總大小(以Flash為例):Editor1.SetSecurityMaxFlashFolderSize(1000);
修改單個上傳檔案的大小(以Flash為例):Editor1.SetSecurityMaxFlashSize(kb); //預設KB為單位
3)多使用者檔案夾
由於上傳的檔案統一被放置到uploads檔案夾中,可以通過程式控製為每個使用者建立一個上傳的檔案 夾。代碼如下:
using System.IO;
string username = Session["username"].ToString() ;
fullPath = Server.MapPath("uploads\\") + username;
if (!Directory.Exists(fullPath))
{
Directory.CreateDirectory(fullPath);
}
Editor1.SetSecurityGalleryPath("~/uploads/" + username);
可能會遇到的問題
1.發布後檔案上錯出錯,網上很多資料說是許可權不夠,需要將uploads設定為everyone,但實際上我遇到的不是這個問題。發現上傳檔案時還需要個快取檔案夾,它居然提示c:\windows\temp.....什麼不對。
解決辦法:
step1.在Web項目下建立一個CuteEditorTemp檔案夾;
step2:在Web.Config中新增
<add key="CuteEditorTempPath" value="~/CuteEditorTemp" />