uedit
一.首先去官网下载ueditor的资源文件夹。导入到自己的项目中的webAPP的WEB-INF的某个文件夹下面。
它的下面有个controller.jsp文件,里面有java代码执行,我们如果要上传图片,文件,视频就必须要执行此文件。里面代码如下
<%@ page language="java" contentType="text/html; charset=UTF-8"
import="com.baidu.ueditor.ActionEnter"
pageEncoding="UTF-8" %>
<%@ page trimDirectiveWhitespaces="true" %>
<%
request.setCharacterEncoding("utf-8");
response.setheader("Content-Type", "text/html");
String rootPath = application.getrealpath("/");
response.getoutputstream().print(new ActionEnter(request, rootPath).exec());
%>
在此之前请把官方文件中的5个jar包导入项目中,下载的资源文件中有,在jsp文件夹,lib文件夹中。注意:直接导入lib中jsp文件会访问不到。所以一定要作为maven依赖导入到项目中
多张上传图片的过程中会访问image.html等文件,这时候如果项目中设置了静态资源过滤,要把这些文件放到静态资源能够访问的地方,最稳妥的解决方式是布置两份,一份在WEB-INF中,一份在静态资源能访问的位置上
在ueditor.config.js中可以配置工具栏,如下所示:
var URL = window.UEDITOR_HOME_URL || getUEBasePath();
/**
* 配置项主体。注意,此处所有涉及到路径的配置别遗漏URL变量。
*/
window.UEDITOR_CONFIG = {
//为编辑器实例添加一个路径,这个不能被注释
UEDITOR_HOME_URL: URL
// 服务器统一请求接口路径
, serverUrl: "/buzi/goods/test_pic"
//工具栏上的所有的功能按钮和下拉框,可以在new编辑器的实例时选择自己需要的重新定义
, toolbars: [[
'undo', 'redo', '|','bold','fontsize','forecolor','justifyleft', 'justifycenter', 'justifyright', 'justifyjustify',
'link', 'unlink','simpleupload','insertimage'
]]
说完这些后,我们就要开始配置项目了,首先在需要引入编辑器的jsp文件中,引入三个js文件
<script type="text/JavaScript" charset="utf-8" src="/js/ueditor/ueditor.config.js"></script>
<script type="text/javascript" charset="utf-8" src="/js/ueditor/ueditor.all.min.js"> </script>
<!--建议手动加在语言,避免在ie下有时因为加载语言失败导致编辑器加载失败-->
<!--这里加载的语言文件会覆盖你在配置项目里添加的语言类型,比如你在配置项目里配置的是英文,这里加载的中文,那最后就是中文-->
<script type="text/javascript" charset="utf-8" src="/js/ueditor/lang/zh-cn/zh-cn.js"></script>
在需要引入编辑器的位置加上如下代码:<textarea id="myeditor" name="goodsDetailsPicture" style="width:1150px;height:800px">${goodsSlave.goodsDetailsPicture}</textarea>
在js中加入如下代码:
var ue = UE.getEditor('myeditor');
此时编辑器并没有加载好,因为编辑器中所有的文件都是访问的controller.jsp文件,而且jsp文件中有java代码,我们必须要通过controller的.do方法去访问controller.jsp文件,这样才能把request中的参数以及各种参数带过去。我们编辑个.do方法去访问controller文件
@RequestMapping("/test_pic")
public String testPic() {
return "buzi/ueditor/jsp/controller";
}
访问:http://localhost:8081/buzi/goods/test_pic?action=config&nocache=1502952434173如果出现如下数据说明配置正确
很多时候我们上传图片,肯定想要它访问我们的上传图片接口,因为大部分公司都有自己的静态资源库,这时候可以在上传图片的jsp页面中做如下配置:
UE.Editor.prototype._bkGetActionUrl = UE.Editor.prototype.getActionUrl;
UE.Editor.prototype.getActionUrl = function(action) {
//判断路径 这里是config.json 中设置执行上传的action名称
if (action == 'uploadimage') {
return '/buzi/pb/uploadImage';
} else if (action == 'uploadvideo') {
return '';
} else {
return this._bkGetActionUrl.call(this, action);
}
}
再在java中写好上传图片接口,返回map就可以成功配置了,如下:
/**
* SpringMVC 用的是 的MultipartFile来进行文件上传
* 这里用@RequestParam()来指定上传文件为MultipartFile
* @throws IOException
*/
@RequestMapping("uploadImage")
@ResponseBody
public Map<String,String> uploadImage(@RequestParam("upfile") CommonsMultipartFile upfile,HttpServletRequest request) throws IOException {
//文件原名称
String fileName=upfile.getOriginalFilename();
//为了避免重复简单处理
String nowName=new Date().getTime()+"_" + fileName;
CommonsMultipartFile[] upfiles = new CommonsMultipartFile[1];
upfiles[0] = upfile;
ArrayList<String> picPaths = FileUtils.pictureSave(upfiles, AdminThreadLocal.get().get("loginId") + "", "shop", "ShoppingMall", String.valueOf(system.currenttimemillis()), request);
String picPath = picPaths.get(0);
//返回结果信息(UEditor需要)
Map<String,String> map = new HashMap<String,String >();
//是否上传成功
map.put("state", "SUCCESS");
//现在文件名称
map.put("title", nowName);
//文件原名称
map.put("original", fileName);
//文件类型 .+后缀名
map.put("type", fileName.substring(upfile.getOriginalFilename().lastindexof(".")));
//文件路径
map.put("url", picPath);
//文件大小(字节数)
map.put("size", upfile.getSize()+"");
return map;
}
相关阅读
Android开发使用LocationManager实现定位服务
做项目需要获取经纬度信息,学习了下android自带的定位API,简单实现了一下,这里记录一下。废话不多说,先上代码: private String locat
Android多线程:HandlerThread详细使用手册
前言 多线程的应用在Android开发中是非常常见的,常用方法主要有:继承Thread类 实现Runnable接口 Handler AsyncTask HandlerThread
Samba使用大全(绝对经典) 转载于:http://www.360doc.com/content/16/0817/17/8335678_583901757.shtml (一)samba服务器 Samba协议基础
windows下使用FFmpeg生成PCM音频文件并播放(通过命令的
一、PCM文件的定义 PCM文件:模拟音频信号经模数转换(A/D变换)直接形成的二进制序列,该文件没有附加的文件头和文件结束标志。Windo
一、secureCRT的使用(1)找到工具中的secureCRT,解压(2)找到secureCRT.exe并运行(3)配置端口(查看截图):协议:serial端口:查看设备管理器波特率