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文本编辑器里面自带的一个上传类,把它改成删除类。

 /* 在这两句之后添加 */
item.appendChild(img);
item.appendChild(icon); //增加删除按钮
item.appendChild($("<span class='delbtn' url='" + list[i].url + "'>✖</span>").click(function (){
var del = $(this);
try {
window.event.cancelBubble = true; //停止冒泡
window.event.returnValue = false; //阻止事件的默认行为
window.event.preventDefault(); //取消事件的默认行为
window.event.stopPropagation(); //阻止事件的传播
} finally {
if (!confirm("确定要删除吗?")) return;
$.post(editor.getOpt("serverUrl") + "?action=deleteimage", { "path": del.attr("url") },
function (result) {
if (result.indexOf("文件删除成功")>-) {
del.parent().remove();
} else alert(result);
});
}
})[]); /* 在这一句之前添加 */
this.list.insertBefore(item, this.clearFloat);

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

 /* 在线管理删除按钮样式 */
#online li .delbtn {
position: absolute;
top: ;
right: ;
border: ;
z-index: ;
color: #ffffff;
display: inline;
font-size: 12px;
line-height: .5px;
padding:3px 5px;
text-align: center;
background-color: #d9534f;
}

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

 using System;
using System.Collections.Generic;
using System.IO;
using System.Linq;
using System.Text.RegularExpressions;
using System.Web; /// <summary>
/// UploadHandler 的摘要说明
/// </summary>
public class DeleteImageHandler : Handler
{ public DeleteConfig deleteConfig { get; private set; }
public DeleteResult Result { get; private set; } public DeleteImageHandler(HttpContext context, DeleteConfig config)
: base(context)
{
this.deleteConfig = config;
this.Result = new DeleteResult() { State = DeleteState.Success };
} public override void Process()
{ try
{
string realpath = Server.MapPath("/ueditor")+"/net/"+deleteConfig.PathFormat; bool bl = System.IO.File.Exists(realpath);
if (bl)
{
System.IO.File.Delete(realpath);
Result.State = DeleteState.Success; }
else
{
Result.State = DeleteState.Fail;
} }
catch (Exception e)
{
Result.State = DeleteState.Fail;
// Result.ErrorMessage = e.Message;
}
finally
{
WriteResult();
}
} private void WriteResult()
{
this.WriteJson(new
{
state = GetStateMessage(Result.State),
// url = Result.Url,
//title = Result.OriginFileName,
// original = Result.OriginFileName,
// error = Result.ErrorMessage
});
} private string GetStateMessage(DeleteState state)
{
switch (state)
{
case DeleteState.Success:
return "文件删除成功"; case DeleteState.Fail:
return "文件删除失败,请检查图片路径是否存在";
}
return "未知错误";
} } public class DeleteConfig
{
/// <summary>
/// 文件命名规则
/// </summary>
public string PathFormat { get; set; } } public class DeleteResult
{
public DeleteState State { get; set; }
// public string Url { get; set; }
//public string OriginFileName { get; set; } //public string ErrorMessage { get; set; }
} public enum DeleteState
{
Success = ,
Fail = -, }

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

UEditor1.4.3.3实现图片上传、删除功能的更多相关文章

  1. 我需要在Web上完成一个图片上传的功能

    我需要在Web上完成一个图片上传的功能. 这个页面需要能从手机中选择图片上传. 首先,这个页面是从微信上面触发的,所以修改了微信的的入口地址,增加了身份识别号作为传参. 跳转到页面的时候,页面先检查身 ...

  2. 包含修改字体,图片上传等功能的文本输入框-Bootstrap

    通过jQuery Bootstrap小插件,框任何一个div转换变成一个富文本编辑框,主要特色: 在Mac和window平台下自动针对常用操作绑定热键 可以拖拽插入图片,支持图片上传(也可以获取移动设 ...

  3. rails使用bootstrap3-wysiwyg可视化编辑器并实现自定义图片上传插入功能

    之前在rails开发中使用了ckeditor作为可视化编辑器,不过感觉ckeditor过于庞大,有很多不需要的功能,而且图片上传功能不好控制不同用户可以互相删除图片,感觉很不好.于是考虑更改可视化编辑 ...

  4. ASP利用xhEditor编辑器实现图片上传的功能。

    本人这几天在做一个软件,无意中用到xhEditor在线编辑器,这个编辑器虽然看着比较简单,但功能非常强大,大家可以去官网上查看,废话不说了. 这篇文件主要是实现在ASP环境中利用xhEditor编辑器 ...

  5. 我需要在Web上完成一个图片上传的功能(+2)

    增加一个页面,用于判断传参是否正确. @{     //判断是否具备会员参数     if (UrlData.Count > 0)     {         Session["Arg ...

  6. 我需要在Web上完成一个图片上传的功能后续(+1)

    微信入口施工完成.关键字识别中增加了本次活动的"关键字",在系统中增加了链接.不过,由于地址包含私密关键参数,这里隐藏,敬请原谅. 下一步,微信链接的地址页面是要对微信用户的信息进 ...

  7. jquery Ajax 实现图片上传的功能。

    $('#image').on('change', function () {         var url = "";         var form = new FormDa ...

  8. Ueditor1.4.3.3+springMvc+maven 实现图片上传

    前记:由于项目中需要有一个新增数据并且要能支持表格图片上传的功能.使用了ueditor控件.为实现这个功能,从一开始什么都看不懂,到一直连着弄了5天,总算是有了眉目.在此记录一下以便能帮到可以和我一样 ...

  9. 关于editor网页编辑器ueditor.config.js 配置图片上传

    最近公司项目在做一个门户网站,其中新闻和简介等部分使用到了ueditor编辑器,但是上级明确指示需要图片上传这个功能,这时却发现图片上传功能不能正常使用,上传时一直报错,网上收了好几个处理办法,都说的 ...

随机推荐

  1. 正确理解Mysql的列索引和多列索引

    MySQL数据库提供两种类型的索引,如果没正确设置,索引的利用效率会大打折扣却完全不知问题出在这. CREATE TABLE test ( id         INT NOT NULL, last_ ...

  2. 脱壳第一讲,手工脱壳ASPack2.12的壳.ESP定律

    脱壳第一讲,手工脱壳ASPack2.12的壳.ESP定律 一丶什么是ESP定律 首先我们要明白什么是壳.壳的作用就是加密PE的. 而ESP定律就是壳在加密之前,肯定会保存所有寄存器环境,而出来的时候, ...

  3. 单源最短路径问题-Dijkstra算法

    同样是层序遍历,在每次迭代中挑出最小的设置为已知 ===================================== 2017年9月18日10:00:03 dijkstra并不是完全的层序遍历 ...

  4. 手把手教你解决无法创建 JPA 工程的问题

    原创播客,如需转载请注明出处.原文地址:http://www.cnblogs.com/crawl/p/7703803.html ------------------------------------ ...

  5. SpringBoot的几个使用技巧

    SpringBoot的几个使用技巧 首先提供几个SpringBoot开发过程中常用的网站: Spring Boot官方文档:http://docs.spring.io/spring-boot/docs ...

  6. spark的sparkUI如何解读?

    spark的sparkUI如何解读? 以spark2.1.4来做例子 Job - schedule mode 进入之后默认是进入spark job 页面 这个说明有很详细的解释,spark有两种操作算 ...

  7. 记录下 Markdown 语法

    github上常用markdown语法:Mastering Markdown 目录 0. 目录 1. 锚点 2.标题 3.超链接 3.1.行内式 3.2.自动链接 4.列表 4.1.有序列表 4.2. ...

  8. indexed database IndexedDB

    Indexed Database API 目的是提供一个可供javascript存储和检索对象,并且还能进行查询,搜索等数据库操作   设计为几乎完全异步,因此绝大部分操作都稍后执行,因此每次操作都应 ...

  9. 数据库Oracle

    一. 表空间和数据文件的关系: 文件组成:数据文件,控制文件,数据库日志文件 数据文件:.dbf 包含全部数据库数据(表,索引等),一个数据文件仅与一个数据库关联.一旦建立,只增不减. 表空间(Tab ...

  10. Jquery基础笔记

    1.$(function(){               等价于     window.onload=function(){ })                               } 2 ...