ueditor去掉上传功能_UEditor1.4.3.3实现图片上传、删除功能

1、下载ueditor1.4.3.3 UTF-8的版本

2、新建一个项目,在项目中添加UEditor,把下载好的插件都放在ueditor这个文件夹中,在进行一些基本的配置

3、在根目录下新建一个为index.aspx的网页,在进行如下的配置,引用三个js文件,在form表单里面用csript来构造一个页面,在让var ue = UE.getEditor("container");来初始化这个页面。运行后界面都已经出现啦

4、运行index.aspx这个页面时会报错,json没引用之类的,一开始我找了很多方法,后来才看到是没有添加Newtonsoft.Json.dll的引用,在下载的UEDITOR/net文件的bin文件里找到这个dll动态库,然后在项目中添加引用。这样无论是点击单图上传还是多图上传都可以啦。那么还有一个问题,这个图片传到哪里了呢,就需要更改一下net目录下的config.json文件

"imageUrlPrefix": " / ", /* 图片访问路径前缀 */

"imagePathFormat": "uploadFile/image/{yyyy}{mm}{dd}/{time}{rand:6}", /* 上传保存路径,可以自定义保存路径和文件名格式 */

这样的话,上传的图片会保存在根目录的uploadFile/image/上传图片的时间 文件夹中,如果没有建文件夹也没关系,会自动生成的。如果觉得图片保存目录太深了,也可以自定义上面的图片文件夹。

图片访问路径前缀一点要为空,不然上传之后就会出错,图片出不来。imagepathFormat里的文件夹是自己新建的,我当时只新建了uploadFile里面的image文件夹自己出现了,还有一个文件就是以日期命名的,如果你不需要在包含文件,就可以把后面的{yyyy}这些日期的都删了。

5.现在图片已经可以上传了。但还有一个功能没完成,就是删除功能了,我这里要做的是单个图片的删除。

6.图片的删除,首先在线管理栏目的图片右上角会有删除一词出现,现在就来实现吧。我对样式美感那些把握的不是那么好,所以直接在网上看了好看的例子,用的他的样式。

找到ueditor\dialogs\image\image.js这个文件,增加了删除按钮,是一把x,这时候已经有了删除的状态功能,真正实现删除的功能是仿照了uploadimage.cs文本编辑器里面自带的一个上传类,把它改成删除类。

1 /*在这两句之后添加*/

2 item.appendChild(img);3 item.appendChild(icon);4

5 //增加删除按钮

6 item.appendChild($("").click(function (){7 var del = $(this);8 try{9 window.event.cancelBubble = true; //停止冒泡

10 window.event.returnValue = false; //阻止事件的默认行为

11 window.event.preventDefault(); //取消事件的默认行为

12 window.event.stopPropagation(); //阻止事件的传播

13 } finally{14 if (!confirm("确定要删除吗?")) return;15 $.post(editor.getOpt("serverUrl") + "?action=deleteimage", { "path": del.attr("url") },16 function (result) {17 if (result.indexOf("文件删除成功")>-1) {18 del.parent().remove();19 }20

21 elsealert(result);22 });23 }24 })[0]);25

26

27

28 /*在这一句之前添加*/

29 this.list.insertBefore(item, this.clearFloat);

在image.css的文件中加入样式,删除的图标更好看一些,我是放在最后。注:样式是参考另外一篇文章。

1 /*在线管理删除按钮样式*/

2 #online li .delbtn {3 position: absolute;4 top: 0;5 right: 0;6 border: 0;7 z-index: 3;8 color: #ffffff;9 display: inline;10 font-size: 12px;11 line-height: 10.5px;12 padding:3px 5px;13 text-align: center;14 background-color: #d9534f;15 }

删除类,是自己新建了一个类,放在net/app_code中 DeleteImageHandler.cs

1 usingSystem;2 usingSystem.Collections.Generic;3 usingSystem.IO;4 usingSystem.Linq;5 usingSystem.Text.RegularExpressions;6 usingSystem.Web;7

8 ///

9 ///UploadHandler 的摘要说明10 ///

11 public classDeleteImageHandler : Handler12 {13

14 public DeleteConfig deleteConfig { get; private set; }15 public DeleteResult Result { get; private set; }16

17 publicDeleteImageHandler(HttpContext context, DeleteConfig config)18 : base(context)19 {20 this.deleteConfig =config;21 this.Result = new DeleteResult() { State =DeleteState.Success };22 }23

24 public override voidProcess()25 {26

27 try

28 {29 string realpath = Server.MapPath("/ueditor")+"/net/"+deleteConfig.PathFormat;30

31 bool bl =System.IO.File.Exists(realpath);32 if(bl)33 {34 System.IO.File.Delete(realpath);35 Result.State =DeleteState.Success;36

37 }38 else

39 {40 Result.State =DeleteState.Fail;41 }42

43

44 }45 catch(Exception e)46 {47 Result.State =DeleteState.Fail;48 //Result.ErrorMessage = e.Message;

49 }50 finally

51 {52 WriteResult();53 }54 }55

56 private voidWriteResult()57 {58 this.WriteJson(new

59 {60 state =GetStateMessage(Result.State),61 //url = Result.Url,62 //title = Result.OriginFileName,63 //original = Result.OriginFileName,64 //error = Result.ErrorMessage

65 });66 }67

68 private stringGetStateMessage(DeleteState state)69 {70 switch(state)71 {72 caseDeleteState.Success:73 return "文件删除成功";74

75 caseDeleteState.Fail:76 return "文件删除失败,请检查图片路径是否存在";77 }78 return "未知错误";79 }80

81

82 }83

84 public classDeleteConfig85 {86 ///

87 ///文件命名规则88 ///

89 public string PathFormat { get; set; }90

91

92

93 }94

95 public classDeleteResult96 {97 public DeleteState State { get; set; }98 //public string Url { get; set; }99 //public string OriginFileName { get; set; }100

101 //public string ErrorMessage { get; set; }

102 }103

104 public enumDeleteState105 {106 Success = 0,107 Fail = -1,108

109 }

到了这里已经结束啦,以供参考。如果只是我,肯定不会想到用这样的方法的,还得感谢我的一位朋友,我才能做好这个模块,毕竟我也只是个刚进公司的新人,会的也没那么多,如果没有大神的指点,也不清楚到底会不会走技术这一条路。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值