网站的文章,通过运营平台来发布文章(图文消息),上传图片等。百度Ueditor比较成熟就采用了该技术,另外上传的图片是网站系统以及运营平台系统共享的,所以考虑搭建独立的图片服务器,以后也可以提供给公司其他服务使用,当做单独的文件服务器。

1、Ueditor接入

关于Ueditor的接入,资料很多,我主要参考了:http://blog.csdn.net/Amayadream/article/details/47285209等博客,官网:http://fex.baidu.com/ueditor/。

(1):添加pom依赖

        <!-- Ueditor begins -->
<dependency>
<groupId>commons-codec</groupId>
<artifactId>commons-codec</artifactId>
<version>${version.commons-codec}</version>
</dependency>
<dependency>
<groupId>commons-fileupload</groupId>
<artifactId>commons-fileupload</artifactId>
<version>${version.commons-fileupload}</version>
</dependency>
<dependency>
<groupId>org.json</groupId>
<artifactId>json</artifactId>
<version>${version.json}</version>
</dependency>
<dependency>
<groupId>commons-io</groupId>
<artifactId>commons-io</artifactId>
<version>${commons-io.version}</version>
</dependency>
<!-- Ueditor ends -->

并没有引入ueditor的jar包,而是在源码的基础上进行了二次开发,有需要的可以找我要(链接:https://pan.baidu.com/s/1kXb17gz 密码:joom)。所有ueditor的统一入口Controller接口:

    /**
* ueditor编辑器
*/
@RequestMapping("ueditor")
public ResponseEntity<String> ueditor(HttpServletRequest request) {
HttpHeaders headers = new HttpHeaders();
headers.setContentType(MediaType.TEXT_HTML);
String json = ueditorService.exec(request);
return new ResponseEntity<String>(json, headers, HttpStatus.OK);
}

具体看我提供的链接里的代码。

(2)将ueditor的静态代码js/css等放到项目里,需要配置的地方:

ueditor.config.json——配置各种图片、文件路径名称,远程上传的话需要配置以下:

ftp上传部分的代码,在我提供的包里,我提供的代码改一下相应的包名,可以直接使用。接下来的文章会讲解包里的部分代码。

imageUrlPrefix可以配置图片服务器的地址,如果是本地的话为空。Ueditor是自动将imageUrlPrefix+imagePathFormat作为完整的图片地址来使用的。

(3)配置:

设置window.UEDITOR_HOME_URL

设置后台请求URL,所有Ueditor的统一请求地址,请求到我上边提到的Controller的统一入口,不同的请求包括:imageUpload/config等等。该配置是ueditor.config.js:

2、textArea嵌入编辑器:

引入js文件:

<!-- 配置文件 -->
<script type="text/javascript"
src="${staticPath }/static/ueditor/ueditor.config.js"></script>
<!-- 编辑器源码文件 -->
<script type="text/javascript"
src="${staticPath }/static/ueditor/ueditor.all.js"></script>
<!-- 实例化编辑器 -->
<script type="text/javascript">
var jobRequirementUe = UE.getEditor('jobRequirement', {
autoHeightEnabled : true,
autoFloatEnabled : true
});
var jobResponsibilityUe = UE.getEditor('jobResponsibility', {
autoHeightEnabled : true,
autoFloatEnabled : true
});
</script>

textArea部分:

<td>
<!-- 加载编辑器的容器 --> <textArea id="newsContent" name='newsContent'
style="width: 100%; height: 100%;">${newsCenter.newsContent}</textArea>
</td>

至此,该编辑器可以正常使用,可以写文字,文章中嵌入图片。图片会上传至远程服务器,图片地址是ueditor自动拼接:imageUrlPrefix+imagePathFormat,我是把整篇文章的内容(getContent方法),包括样式,图片地址存入数据一个text字段。网站的前端可以直接拿来展示。

3、Ueditor单独上传图片功能:

Ueditor没有提供单独上传图片的功能,但是编辑器中有上传图片的功能,可以基于此,稍稍加点内容就可以实现了:

JS代码以及HTML部分代码:

<!-- 配置文件 -->
<script type="text/javascript"
src="${staticPath }/static/ueditor/ueditor.config.js"></script>
<!-- 编辑器源码文件 -->
<script type="text/javascript"
src="${staticPath }/static/ueditor/ueditor.all.js"></script>
<!-- 实例化编辑器 -->
<script type="text/javascript">
var uploadImageUe = UE.getEditor("uploadImage", {
initialFrameWidth : 800,
initialFrameHeight : 300,
}); uploadImageUe.ready(function() {
//设置编辑器不可用(事实上不可以设置不可用...所以注释掉,以观后效)
//_editor.setDisabled(); //隐藏编辑器,因为只使用上传功能
uploadImageUe.hide(); //侦听图片上传
uploadImageUe.addListener('beforeInsertImage', function(t, arg) {
//将图片地址赋给input
$("#pictureHref").attr("value", arg[0].src);
//将图片地址赋给img的src,实现预览
$("#showImage").attr("src", arg[0].src);
});
});
//上传dialog
function upImage() {
var myImage = uploadImageUe.getDialog("insertimage");
myImage.open();
}
</script>
                <tr>
<td>新闻配图</td>
<td><input type="text" id="pictureHref" name="pictureHref"
style="width: 100%;" value="${newsCenter.pictureHref}"></td>
<td><a href="javascript:void(0)" onclick="upImage()">上传图片</a></td>
<td><img id="showImage" src="${newsCenter.pictureHref}"
style="width: 120px; height: 100px;"> <!-- 定义一个新编辑器,但是会隐藏它,因为只会用到图片上传 -->
<textarea id="uploadImage"></textarea></td>
</tr>

image.js中做如下修改,找截图部分位置,加一句:

至此,就可以单独使用上传图片的功能了。效果如下:

因为我对前端不太熟练,所以这篇文章写得不是很清晰。还请见谅。

下一篇文章我会写搭建图片服务器部分,以及如何通过ftp传文件到图片服务器部分。

使用Ueditor上传图片到图片服务器(一)的更多相关文章

  1. 使用Ueditor上传图片到图片服务器(二)

    上一篇主要写了前端部分如何配置ueditor的上传路径,已经jsp页面中如何使用ueditor的编辑器功能以及如何配置单独的图片上传功能. 这一篇,我分两部分:第一部分是搭建图片服务器以及配置ftp上 ...

  2. kindeditor修改图片上传路径-使用webapi上传图片到图片服务器

    kindeditor是一个非常好用的富文本编辑器,它的简单使用我就不再介绍了. 在这里我着重介绍一些使用kindeditor修改图片上传路径并通过webapi上传图片到图片服务器的方案. 因为我使用的 ...

  3. kindeditor扩展粘贴图片功能&修改图片上传路径并通过webapi上传图片到图片服务器

    前言 kindeditor是一个非常好用的富文本编辑器,它的简单使用我就不再介绍了. 而kindeditor却对图片的处理不够理想. 本篇博文需要解决的问题有两个: kindeditor扩展粘贴图片功 ...

  4. kindeditor扩展粘贴截图功能&修改图片上传路径并通过webapi上传图片到图片服务器

    前言 kindeditor是一个非常好用的富文本编辑器,它的简单使用我就不再介绍了. 而kindeditor却对图片的处理不够理想. 本篇博文需要解决的问题有两个: kindeditor扩展粘贴图片功 ...

  5. summernote 上传图片到图片服务器的解决方案(springboot 成功)

    遇到的可以连接成功但是拒绝登录的问题 前提说一下,我自己在自己的服务器上配置了nginx的反向代理,所以请求的时候才会直接写的是我的ip地址,要配置nginx的话,可以看我的nginx的笔记 当代码感 ...

  6. nginx 一二事(1) - 简单图片服务器解决方案

    最近经常有人问图片上传怎么做,有哪些方案做比较好,也看到过有关于上传图片的做法,但是都不是最好的 今天再这里简单讲一下上传图片以及图片服务器的大致理念 如果是个人项目或者企业小项目,仅仅只有十来号人使 ...

  7. ImageMagick图片服务器

    1.前置准备工具如下: nodejs express(nodejs mvc框架) body-parser(express middleware) gm(nodejs中用来处理图片的) uuid(nod ...

  8. 转:Linux下使用Nginx搭建简单图片服务器

    最近经常有人问图片上传怎么做,有哪些方案做比较好,也看到过有关于上传图片的做法,但是都不是最好的,今天再这里简单讲一下Nginx实现上传图片以及图片服务器的大致理念. 如果是个人项目或者企业小项目,仅 ...

  9. ueditor搭建图片服务器

    最近用使用富文本编辑器,之前一直使用kindeditor和eWebEditor来着,有同事给推荐说使用百度推出的Ueditor,所以咯,自己新项目就将它引进来了,这里说一下心得, 说实话,Uedito ...

随机推荐

  1. <转>WPF 中的绑定

    在WPF应用的开发过程中Binding是一个非常重要的部分. 在实际开发过程中Binding的不同种写法达到的效果相同但事实是存在很大区别的. 这里将实际中碰到过的问题做下汇总记录和理解. 1. so ...

  2. python3类和实例

    面向对象最重要的概念就是类(Class)和实例(Instance),必须牢记类是抽象的模板,比如Student类,而实例是根据类创建出来的一个个具体的“对象”,每个对象都拥有相同的方法,但各自的数据可 ...

  3. Django框架操作数据库的两种方式

    Django操作数据库的前提操作是成功连接数据库,详情见上篇:https://www.cnblogs.com/kristin/p/10791358.html Django查询数据库的方式一 from ...

  4. Jenkins连接Git仓库时候报错Permission denied, please try again.

    一.连接GIT仓库报错 Failed to connect to repository : Command : stdout: stderr: Permission denied, please tr ...

  5. 201871010107-公海瑜《面向对象程序设计(java)》第十三周学习总结

    201871010107-公海瑜<面向对象程序设计(java)>第十三周学习总结            项目                      内容   这个作业属于哪个课程   ...

  6. 201871010107-公海瑜《面向对象程序设计(java)》第十一周学习总结

    201871010107-公海瑜<面向对象程序设计(java)>第十一周学习总结           项目                              内容   这个作业属于 ...

  7. jenkins部署报404错误

    环境:tomcat 7+jdk1.7+win10 64 jenkins_1.5.23 部署完成后服务器启动输入网址:http://192.168.3.100:8080/jenkins打开无法访问报40 ...

  8. MySQL 数据库 查询语句的基本操作,单表查询,多表查询

    1.查询语句的基本操作 - select - from - where - group by - having - distinct - order by - limit - 聚合函数: count, ...

  9. MySQL8 修改密码验证插件

    MySQL8 修改密码验证插件 查看当前用户使用的密码验证插件 mysql> show variables like '%auth%'; +--------------------------- ...

  10. Vue.js如何获得兄弟元素,子元素,父元素(DOM操作)

    我不是代码的生产者,我只是知识的搬运工. 戳这