为 FCKeditor 增加删除文件和文件夹的功能(C#)
2010-12-16 09:55
429 查看
FCKeditor 很强大也很讨人喜欢,唯一的缺点就是不支持文件和文件夹的删除,很是遗憾。这篇文章就介绍怎样为 FCKeditor 增加删除功能(基于 C# 的版本)。
FCKeditor 官方网站:http://www.fckeditor.net
本文所针对版本:FCKeditor: 2.6.4,FCKeditor.Net: 2.6.3。
1. 用 Visual Studio 2005/2008 打开项目 FCKeditor.Net 2.6.3,打开文件“FileBrowser/Connector.cs”,为 class Connector 增加如下两个成员函数:
2. 在文件“Connector.cs”中找到 OnLoad 函数,在 switch 部分增加以下红色代码:
3. 编译 FCKeditor.net 并关闭该项目。将生成的 FredCK.FCKeditorV2.dll 拷贝出来以备后用。
4. 建立 C# 测试项目,并在其中部署 FCKeditor 2.6.4(使用第 3 步生成的 FredCK.FCKeditorV2.dll)。精简及部署的详细步骤非本文重点,不再重复。
5. 打开“fckeditor/editor/filemanager/browser/default/frmresourceslist.htm”,修改以下两个函数
6. 继续修改文件“frmresourceslist.htm”,在 OpenFile 函数后面增加以下两个函数:
7. 继续修改文件“frmresourceslist.htm”,找到 GetFoldersAndFilesCallBack 函数中的下面这行,增加红色部分的代码:
至此,删除功能增加完毕,见下图:
转自:http://hi.baidu.com/yangw80/blog/item/0292e0f00d345ea6a40f52a5.html
FCKeditor 官方网站:http://www.fckeditor.net
本文所针对版本:FCKeditor: 2.6.4,FCKeditor.Net: 2.6.3。
1. 用 Visual Studio 2005/2008 打开项目 FCKeditor.Net 2.6.3,打开文件“FileBrowser/Connector.cs”,为 class Connector 增加如下两个成员函数:
private void DelFile( XmlNode connectorNode, string resourceType, string currentFolder ) { HttpContext hc = HttpContext.Current; string file = hc.Server.MapPath(hc.Request["FileUrl"]); if (System.IO.File.Exists(file)) System.IO.File.Delete(file); else hc.Response.Write(@"<error number=""1"" originaldescription=""unable to locate file"">"); } private void DelFolder( XmlNode connectorNode, string resourceType, string currentFolder ) { HttpContext hc = HttpContext.Current; string folder = hc.Server.MapPath(hc.Request["FolderName"]); if (System.IO.Directory.Exists(folder)) System.IO.Directory.Delete(folder, true); else hc.Response.Write(@"<error number=""2"" originaldescription=""unable to locate folder"">"); }
2. 在文件“Connector.cs”中找到 OnLoad 函数,在 switch 部分增加以下红色代码:
// Execute the required command. switch( sCommand ) { case "GetFolders" : this.GetFolders( oConnectorNode, sResourceType, sCurrentFolder ); break; case "GetFoldersAndFiles" : this.GetFolders( oConnectorNode, sResourceType, sCurrentFolder ); this.GetFiles( oConnectorNode, sResourceType, sCurrentFolder ); break; case "CreateFolder": this.CreateFolder(oConnectorNode, sResourceType, sCurrentFolder); break; case "DelFile": this.DelFile(oConnectorNode, sResourceType, sCurrentFolder); break; case "DelFolder": this.DelFolder(oConnectorNode, sResourceType, sCurrentFolder); break; }
3. 编译 FCKeditor.net 并关闭该项目。将生成的 FredCK.FCKeditorV2.dll 拷贝出来以备后用。
4. 建立 C# 测试项目,并在其中部署 FCKeditor 2.6.4(使用第 3 步生成的 FredCK.FCKeditorV2.dll)。精简及部署的详细步骤非本文重点,不再重复。
5. 打开“fckeditor/editor/filemanager/browser/default/frmresourceslist.htm”,修改以下两个函数
oListManager.GetFolderRowHtml = function( folderName, folderPath, folderUrl ) { // Build the link to view the folder. var sLink = '<a href="#" onclick="OpenFolder(/'' + ProtectPath(folderPath) + '/');return false;">'; return '<tr>' + '<td width="16">' + sLink + '<img alt="" src="images/Folder.gif" width="16" height="16" border="0"><//a>' + '<//td><td nowrap colspan="2"> ' + sLink + folderName + '<//a>' + '<//td><td align="right"><a href="#" onclick="DelFolder(/''+folderName+'/',/''+ ProtectPath(folderUrl) + '/');return false;">删除</a></td><//tr>'; } oListManager.GetFileRowHtml = function( fileName, fileUrl, fileSize ) { // Build the link to view the folder. var sLink = '<a href="#" onclick="OpenFile(/'' + ProtectPath(fileUrl) + '/');return false;">' ; // Get the file icon. var sIcon = oIcons.GetIcon( fileName ) ; return '<tr>' + '<td width="16">' + sLink + '<img alt="" src="images/icons/' + sIcon + '.gif" width="16" height="16" border="0"><//a>' + '<//td><td> ' + sLink + fileName + '<//a>' + '<//td><td align="right" nowrap> ' + fileSize + ' KB' + '<//td><td align="right"><a href="#" onclick="DelFile(/''+fileName+'/',/'' + ProtectPath(fileUrl) + '/');return false;">删除</a></td><//tr>'; }
6. 继续修改文件“frmresourceslist.htm”,在 OpenFile 函数后面增加以下两个函数:
function DelFile( fileName, fileUrl ) { if (confirm('您确定要删除文件“' + fileName + '”吗?')) oConnector.SendCommand("DelFile", "FileUrl=" + escape(fileUrl), Refresh); } function DelFolder( folderName, folderPath ) { if (confirm('您确定要删除文件夹“' + folderName + '”和里面的所有文件吗?')) oConnector.SendCommand("DelFolder", "FolderName=" + escape(folderPath + folderName), Refresh); }
7. 继续修改文件“frmresourceslist.htm”,找到 GetFoldersAndFilesCallBack 函数中的下面这行,增加红色部分的代码:
oHtml.Append( oListManager.GetFolderRowHtml( sFolderName, sCurrentFolderPath + sFolderName + "/", sCurrentFolderUrl ) );
至此,删除功能增加完毕,见下图:
转自:http://hi.baidu.com/yangw80/blog/item/0292e0f00d345ea6a40f52a5.html
相关文章推荐
- 为 FCKeditor增加图片预览和删除文件、删除文件夹功能(c#)
- fckeditor给文件(包括图片)及文件夹增加删除功能
- 转: KindEditor 图片空间文件增加删除文件、文件夹功能(ASP语言环境)
- PHP实现删除文件夹内的文件的功能
- C# 删除文件夹下的所有文件
- C# 对文件与文件夹的操作包括删除、移动与复制
- 仿163的多文件上传带增加删除功能
- [No000073]C#直接删除指定目录下的所有文件及文件夹(保留目录)
- C#/.NET中删除指定文件夹下所有文件和文件夹的几种方法汇总
- C# 递归 删除文件夹及子文件夹内文件
- C#追加、拷贝、删除、移动文件、创建目录、递归删除文件夹及文件
- C# - 递归删除某一路径下的所有文件和文件夹
- Java实现的模糊匹配某文件夹下的文件并删除功能示例
- shell脚本实现查找文件夹下重复的文件,并提供删除功能
- shell脚本实现查找文件夹下重复的文件,并提供删除功能
- C Sharp(C#)中如何删除文件(文件夹)
- C# 文件操作 全收录 追加、拷贝、删除、移动文件、创建目录、递归删除文件夹及文件
- C#添加修改删除文件文件夹大全
- C# - 删除文件夹及子文件内文件
- c#循环删除文件夹下文件和文件夹