UEditor是一个很强大的在线编辑软件 ,首先讲一下 基本的配置使用 ,如果已经会的同学可以直接跳过此节 ,今天篇文章重点说图片上传;

一  富文本的初始化使用:

1 首先将UEditor从官网下载下来放进webinf下面

2 然后在需要用到的jsp里面导入相应的文件 ,请严格按照顺序导入;

3 在要显示编辑器的地方写上以下代码 ,其中 style里面的内容自己定义;

4 在jsp页面的最下面的</html>之前写一段js代码 ,首先写工具栏的配置;,且记一定要在下面 这样才能兼容IE8 ,并保证在所有浏览器都没问题,

工具栏的全部配置都在/ueditor/ueditor.config.js 这个文件中 , 上面写的好好的备注 , 另外这是百度上的 我收藏的可以看看: http://fex.baidu.com/ueditor/#server-path

5 之后在下面就可以初始化了, 红框框里面的内容 就是 上面标签中定义的id ;

到此位置 ,访问此jsp页面即可看到初始化好的 富文本编辑器 , 基本功能都是可以用的;

二 图片上传功能的实现 [ 与springSVC集成 ] 

1之前初始化好的 编辑器不能上传图片,单图上传的按钮是灰色的 无法点击;

我这里配置好了,所以不是暗的,下面教大家一步一步配置,大家一定要主要我说的代码放置的顺序 ;

2 在jsp文件的最上面定义 UEditor的基础路径 见红框框里面的内容;

放在最上面的原因是 ,下面加js文件的时候是需要用到这些配置的  ;

3 打开 配置文件 /ueditor/ueditor.config.js ; 在此文件中找到 :

 请保证这一句未被注销 ; 此时单图上传的图标可能还没有亮 ,或者亮了但是点击一下就变按了 ,原因是需要的jar包没有 , 我们从官网下载的java UTF-8的版本里面有 5个jar包 ;

请注意jar包的版本,在后面 写 meven依赖是有用的 ,若版本错了,可能导致不兼容,或者方法无效等问题;

4 大家可以直接导入jar包进去 , 但是推荐大家用meven中的pom依赖加载 ,我复制出来方便大家粘贴:

<dependency>
<groupId>org.json</groupId>
<artifactId>org.json</artifactId>
<version>2.0</version>
</dependency>
<dependency>
<groupId>com.baidu.ueditor</groupId>
<artifactId>ueditor</artifactId>
<version>1.1.2</version>
</dependency>

<dependency>
<groupId>cglib</groupId>
<artifactId>cglib</artifactId>
<version>2.2.2</version>
</dependency>

<dependency>
<groupId>commons-fileupload</groupId>
<artifactId>commons-fileupload</artifactId>
<version>1.3.1</version>
</dependency>
<dependency>
<groupId>commons-io</groupId>
<artifactId>commons-io</artifactId>
<version>2.4</version>
</dependency>
<dependency>
<groupId>commons-codec</groupId>
<artifactId>commons-codec</artifactId>
<version>1.9</version>
</dependency>
<dependency>
<groupId>commons-dbcp</groupId>
<artifactId>commons-dbcp</artifactId>
<version>1.2.2</version>
</dependency>

此时需要重新部署项目发布, 在看看, 点击单图上传按钮, 应该可以弹出文件选择框了 ;

5 现在需要自定义 图片上传的action类, 并修改/ueditor/jsp/config.json 文件的配置;

aciton定义的方法如下 : [我的工程里面的此action 的访问路径是:/upload/addUEImage.json]

//--------------------------------------------------------------------------------------------------------

/**
* 富文本图片保存
*
* */
@ResponseBody
@RequestMapping(value = "addUEImage.json",method = RequestMethod.POST)
public void addUEImage(MultipartFile upfile, HttpServletRequest request, HttpServletResponse response){
response.setContentType("text/html");
//Map<String, Object> params = new HashMap<String, Object>();
String result = "" ;
try{

//图片存储的基本路径 ,我的拼接出来是这样的D:/Storage//UEImage
String basePath = ConfigUtil.getProperty("kms.storage.path")+""+ConfigUtil.getProperty("UEImage.url");

//visitUrl 是返回到页面上显示的路径 ,你的其他图片是怎么访问到的 ,这里就如何拼接 , 
String visitUrl = this.getFullPathForUEImage(request);

//获取文件的后缀 ,用于拼接 , 此方法 我会在后面贴出来的
String ext = UploadFileUtil.getExt(upfile.getOriginalFilename());

//自定义文件名称
String fileName = KMSUtil.randomUUID()+"."+ext;

//拼接保存路径 ,并保存文件 ;

StringBuilder sb = new StringBuilder(); 
sb.append(basePath).append("/").append(fileName);
visitUrl = visitUrl.concat(fileName);
File f = new File(sb.toString());
if(!f.exists()){
f.getParentFile().mkdirs();
}
OutputStream out = new FileOutputStream(f);
FileCopyUtils.copy(upfile.getInputStream(), out);

//返回需要的信息 ,这个方法本来是返回Map<string ,object> 的 但是在ie下面 图片会变成保存一个json文件 , 所以改成这中方式 , 参见此这个文章的所有蓝色部分
result = "{\"state\":\"SUCCESS\",\"url\":\""+visitUrl+"\",\"size\":\""+upfile.getSize()+
"\",\"original\":\""+fileName+"\",\"type\":\""+upfile.getContentType()+"\",}";
/*
params.put("state", "SUCCESS");
params.put("url", visitUrl);
params.put("size", upfile.getSize());
params.put("original", fileName);
params.put("type", upfile.getContentType());
*/
} catch (Exception e){
result = "{\"state\":\"图片上传失败!\",\"url\":\"\",\"size\":\"\",\"original\":\"\",\"type\":\"\",}";
/**params.put("state", "ERROR"); */
}


try {
response.getWriter().print(result);
} catch (IOException e) {
e.printStackTrace();
}

//return params;
}

//---------------------------------------------------------------------------------------------------------

//获取后缀名方法,大家随便写了调用即可 ;

public static String getExt(String name){
if(name == null || "".equals(name) || !name.contains("."))
return "";
return name.substring(name.lastIndexOf(".")+1);
}

6  action编写完成,返回的url里面的路径就是你加载完图片之后 ,显示在img标签的src值,请确保 ,此路径可以访问 , 我的比较复杂 ,这里不展示了

7  现在配置config.json文件 ,只需要修改一行即可 ;把imageActionName 修改成自己的刚才那个action的访问路径

  请保证,此路径没有访问限制

8 在调用编辑器里面的jsp里面的初始化UEditor之后 , 需要重构下 调用action 的属性 ;

这是代码 ,免的大家需要一行一行的敲: basepath 是 htttp:// 127.0.0.1:8080/kms  类似的工程访问路径 ,红色的即是我们的action路径 ;

UE.Editor.prototype._bkGetActionUrl = UE.Editor.prototype.getActionUrl;
UE.Editor.prototype.getActionUrl = function(action){
if(action == "/upload/addUEImage.json"){
return basePath+"/upload/addUEImage.json";
}else{
return this._bkGetActionUrl.call(this, action);
}
}

好了 到此位置 ,图片就可以上传并保存了 , 如果的你的显示路径没问题 ,那么也是可以显示的 ,

当然 ,还有其他种类的集成方式,这里不介绍了 ,大家可以参考下面两个大侠的文章 ,希望对大家有所帮助

http://www.cnblogs.com/mumuxinfei/p/5363909.html;

http://blog.csdn.net/l1028386804/article/details/52389722 ;

有任何疑问 , 请与我交流哈:QQ1185931622 ,验证信息:UEditor交流HJ

UEditor使用------图片上传与springMVC集成 完整实例的更多相关文章

  1. uEditor独立图片上传

    项目中.上传图片,非常希望有一款比较兼容的查件. 网上找了一些,图片上传立刻显示的js代码,还有uploadify.都会碰到这样那样的不兼容和其它头疼的问题. 后来想,干脆就用php的上传类最干脆.但 ...

  2. 在SAE上使用Ueditor的图片上传功能

    SAE上是没有文件夹读写权限的,所以要在SAE使用Ueditor的图片上传功能须要借助SAE的Storage服务. 一.开通Storage服务 在SAE控制台开通Storage服务,并新增一个doma ...

  3. springboot整合ueditor实现图片上传和文件上传功能

    springboot整合ueditor实现图片上传和文件上传功能 写在前面: 在阅读本篇之前,请先按照我的这篇随笔完成对ueditor的前期配置工作: springboot+layui 整合百度富文本 ...

  4. 百度UEditor图片上传、SpringMVC、Freemarker、Tomcat、Nginx、静态资源

    个人官网.公司项目都需要 可视化编辑器,百度UEditor做得很不错,就用的这个.项目后台用到了SpringMVC.Freemarker,开发过程中部署在Jetty,线上部署用Tomcat,最后可能配 ...

  5. 对百度的UEditor多图片上传的一些补充

    我已经写了一篇文章关于百度的UEditor提取多图片上传模块.如果还没有看过,请点击以下链接查看 http://www.cnblogs.com/luke1006/p/3719029.html 出差了两 ...

  6. 单独调用Ueditor的图片上传功能

    <!DOCTYPE html> <html> <head> <title></title> <script src="/sc ...

  7. asp.net 百度编辑器 UEditor 上传图片 图片上传配置 编辑器配置 网络连接错误,请检查配置后重试

    1.配置ueditor/editor_config.js文件,将 //图片上传配置区 ,imageUrl:URL+"net/imageUp.ashx" //图片上传提交地址 ,im ...

  8. 百度ueditor的图片上传,前后端交互使用

    百度ueditor的使用 一个文本编辑器,看了网上很多文档写的很乱,这里拾人牙慧,整理下怎么使用. 这个东西如果不涉及到图片附件上传,其实很简单,就是几个前端文件,直接引用,然后配置下ueditor. ...

  9. Asp.NetCoreWebApi图片上传接口(二)集成IdentityServer4授权访问(附源码)

    写在前面 本文地址:http://www.cnblogs.com/yilezhu/p/9315644.html 作者:yilezhu 上一篇关于Asp.Net Core Web Api图片上传的文章使 ...

随机推荐

  1. dfs算法

    一般bfs算法都是使用递归 //下面简单的代码 visited[Max]; dfs(_graph g,int vo){ print(vo); visited[vo]=1 for(int i=0;i&l ...

  2. Java面试08|Java重要的类和相关的方法

    1.深入理解Class类及其中的方法 获取Class类的方法: 1.调用Object类的getClass()方法来得到Class对象,这也是最常见的产生Class对象的方法.2.使用Class类的中静 ...

  3. 3298: [USACO 2011Open]cow checkers

    3298: [USACO 2011Open]cow checkers Time Limit: 10 Sec  Memory Limit: 128 MBSubmit: 65  Solved: 26[Su ...

  4. JAVA面试题和答案(二)

    本文我们将要讨论Java面试中的各种不同类型的面试题,它们可以让雇主测试应聘者的Java和通用的面向对象编程的能力.下面的章节分为上下两篇,第一篇将要讨论面向对象编程和它的特点,关于Java和它的功能 ...

  5. Oracle数据库笔记

    SQL分为四大类别 1.DDL:Date Definition Language 数据定义语言  用于建立.修改.删除数据库对象(create创建表和其它对象结构:alter修改表或其它结构:drop ...

  6. 构建微服务-使用OAuth 2.0保护API接口

    微服务操作模型 基于Spring Cloud和Netflix OSS 构建微服务-Part 1 基于Spring Cloud和Netflix OSS构建微服务,Part 2 在本文中,我们将使用OAu ...

  7. Android自学反思总结(下)

    后来陆陆续续过了大半个月,导员给找了一个Udacity在线学习的Android开发教程,只有一个月的免费学习机会,因此很快开始了叫Sunshine的天气应用的开发,教学视频整体是采用先自己思考并填写某 ...

  8. javaScript绑定事件委托 demo

    事件绑定通常发生在 onload 或 DOMContentReady , 事件绑定占用 处理时间 占用内存, 而且不是每个事件都会被 点击执行. 由此 事件委托 可以优化事件绑定行为.. 事件逐层冒泡 ...

  9. Hive(笔记)

    (2015.07.22Hive笔记) 一.Hive的安装 1.1Hive的安装过程 下载hive源文件(apache-hive-0.14.0-bin.tar.gz ) 解压hive文件 进入$HIVE ...

  10. 浅谈对java中传参问题的理解

    之前用的c/c++比较多,在c/c++中对于传参类型,无外乎就是传值.传引用.传指针这几种.但在java中,由于没有指针类型,其传参的方式也发生了相应的变化.在网上找了找,按我之前的理解,java中传 ...