网站的文章,通过运营平台来发布文章(图文消息),上传图片等。百度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. springBoot添加日志管理

    一. 近期自己的项目想要一个记录日志的功能,而springboot本身就内置了日志功能,然而想要输入想要的日志,并且输出到磁盘,然后按天归档,或者日志的切分什么的,自带的日志仅仅具有简单的功能,百度了 ...

  2. 201871020225-牟星源《面向对象程序设计(java)》第七周学习总结

    201871020225-牟星源<面向对象程序设计(java)>第七周学习总结 博文正文开头: 项目 内容 这个作业属于哪个课程 https://www.cnblogs.com/nwnu- ...

  3. SQLAlchemy查询数据库数据

    首先创建模型,在数据库里面生成表,然后填入数据,如下 # 定义orm,数据模型 class Test(db.Model): __tablename__ = 'test' id = db.Column( ...

  4. opencv旋转图像

    #include <opencv2\opencv.hpp> /* @param o The customer origin @param x The customer x @Note Th ...

  5. zzL4自动驾驶中感知系统遇到的挑战及解决方案

    本次分享的大纲: Perception Introduction Sensor Setup & Sensor Fusion Perception Onboard System Percepti ...

  6. vue系列--- 认识Flow(一)

    1. 什么是Flow? Flow 是javascript代码的静态类型检查工具.它是Facebook的开源项目(https://github.com/facebook/flow),Vue.js(v2. ...

  7. wal2json docker 试用

    基于官方的release 构建了一个docker 镜像,以下是测试使用 环境准备 docker-compose 文件 version: "3" services:   mypg: ...

  8. [LeetCode] 658. Find K Closest Elements 寻找K个最近元素

    Given a sorted array, two integers k and x, find the k closest elements to x in the array. The resul ...

  9. 使用PAC文件来管理代理连接

    生成PAC文件 谷歌浏览器插件商店安装SwitchyOmega,找到立即更新模式,然后导出PAC文件 使用PAC文件 pac采用js编写 Windows Windows上面使用PAC文件很简单,新建一 ...

  10. Manjaro Linux安装后第一件事

    环境:Manjaro KDE 使用中科大源  USTC Mirror 当然也可以勾选所有中国镜像源 谷歌加上云pinyin拼音输入法,不亚于搜狗 fcitx-qt5 kcm-fcitx  (confi ...