接上一篇文章:FckEditor添加右键菜单;增加编辑区右键图片删除功能(asp.net )(一)
(二)
var FCKDelPicCommand = function() {
this.Name = "DelPic";// Command事件的名称,此语句可以不写
}
FCKDelPicCommand.prototype =
{
// 删除文件
Execute: function() {
var oImage = FCK.Selection.GetSelectedElement();// 得到当前选择的图片对象
var sUrl = oImage.getAttribute('_fcksavedurl'); // 得到图片存储地址
oImage.parentNode.removeChild(oImage); // 从编辑器中移除该图片
var xml = new ActiveXObject("MSXML2.XMLHTTP");
if (confirm('要删除服务器上的图片吗?')) {
xml.open("get", "FCKdel_file.aspx?filePath=" + sUrl + "&UD=1", false);
xml.send();// 调用Fckdel_file.aspx文件进行服务器图片删除(这个aspx文件步骤6中讲)
switch (xml.responseText.substring(0, 1)) {
case"1": alert("文件删除成功!");
break;
case"0": alert("文件删除失败!请检查文件是否存在!");
break;
case"2": alert("您不是系统管理员,无权进行操作!");
break;
default: alert("未知错误!");
break;
}
}
}
};// 注意分号哦!!!
6, 在editor\目录下添加Fckdel_file.aspx文件,代码如下
protectedvoid Page_Load(object sender, EventArgs e)
{
//注意哦!!!步骤5 js里面xml.open("get", "xxx.aspx")
//当为get时,则当编辑器里AB两个地方同时放有图片C,若删除A处图片C后,再删除B处图片C,则下面的代码不会被执行,当为post时,没有此问题
// if (Request.QueryString["UD"] != null) 这个主要是用来做一些权限方面的认证
// {
try
{
string file = Request.QueryString["filePath"].Trim();
string filePath = Server.MapPath(file);
if (System.IO.File.Exists(filePath))
{
System.IO.File.Delete(filePath);
Response.Write("1");
}
else
{
Response.Write("0");
}
}
catch
{
Response.Write("0");
}
//}
//else Response.Write("2");
}
参考文章:
右键菜单:http://blog.sina.com.cn/s/blog_60f18b040100dr7p.html
图片删除:http://www.cnblogs.com/scottckt/archive/2010/12/08/1900284.html