umeditor 上传图片的配置

3 篇文章 0 订阅

   官方介绍:UMeditor,简称UM,是为满足广大门户网站对于简单发帖框,或者回复框需求所定制的在线富文本编辑器。 UM的主要特点就是容量和加载速度上的改变,主文件的代码量为139k,而且放弃了使用传统的iframe模式,采用了div的加载方式, 以达到更快的加载速度和零加载失败率。现在UM的第一个使用者是百度贴吧,贴吧每天几亿的pv是对UM各种指标的最好测试平台。 当然随着代码的减少,UM的功能对于UE来说还是有所减少,但我们经过调研和大家对于UM提出的各种意见,提供了现在UM的功能版本, 虽然有删减,但也有增加,比如拖拽图片上传,chrome的图片拖动改变大小等。让UM能在功能和体积上达到一个平衡。

   官网:https://ueditor.baidu.com/website/umeditor.html

   推荐使用 umeditor1_2_2-utf8-jsp版本,umeditor1_2_3-utf8-jsp好像字体和字号大小失效,具体情况不知,我是用的umeditor1_2_2-utf8-jsp版本,大家可以到官网去下载https://ueditor.baidu.com/website/download.html,也可以到下面的链接去下载https://download.csdn.net/download/qq_39098505/10857039

   官网有基本的配置,这里不多说,直接讲讲怎么上传图片:

  首先在umeditor根目录下找到umeditor.config.js文件,找到

//图片上传配置区
,imageUrl:URL+"jsp/imageUp.jsp"      //图片上传提交地址
,imagePath:URL + "jsp/"      //图片修正地址,引用了fixedImagePath,如有特殊需求,可自行配置
,imageFieldName:"upfile"           //图片数据的key,若此处修改,需要在后台对应文件修改对应参数

然后修改图片上传的配置

imageUrl:path+"/umeditor/upload" //这里配置后台图片的接收路径,用来接收图片
imagePath:""      //图片修正地址,有时候我们调用图片时,如配置了tomcat虚拟路径要调整时使用,如果没有,建议为空
imageFieldName:"upfile"     //后台接收的参数名称,默认是upfile,和后台需要对应,不然会出错

 上述配置完成会后,当你在umeditor选择图片后就会执行imageUrl中的方法

 接下来写后台的controller,直接上代码好了

@RequestMapping("/umeditor/upload")
	@ResponseBody
	public void umeditorUpload(@RequestParam("upfile") MultipartFile file,HttpServletRequest request,HttpServletResponse response) 
			throws IllegalStateException, IOException{
		String path = request.getServletContext().getRealPath("/WEB-INF/static/image/umeditor")+"\\";
		JSONObject json = new JSONObject();
		String type="."+file.getOriginalFilename().split("\\.")[1];
		String name=System.currentTimeMillis()+file.getOriginalFilename();
		File dir = new File(path, name);
		String src="image/umeditor/"+name;
		if (!dir.exists()) {
			dir.mkdirs();
			json.put("state","SUCCESS");
			json.put("original",file.getOriginalFilename());
			json.put("size",file.getSize());
			json.put("url",src);
			json.put("title", name);
			json.put("type",type);
		} else {
			json.put("state","FALSE");
		}
		file.transferTo(dir);
		response.setContentType("text/html; charset=UTF-8"); 
		PrintWriter writer=response.getWriter();
		writer.write(json.toString());
		writer.close();
	}

和普通的图片上传差别不是很大,但是有几点要注意:

1.返回的json数据格式如下:

{
"state": "SUCCESS",
"original": "80px - \u526f\u67.jpg",
"size": "13252",
"title": "1465.jpg",
"type": ".jpg",
"url": "/ueditor/jsp/upload/image/20112/146075274.jpg"
}

2.不能直接return json格式的数据,如果直接返回json格式的数据,浏览器会出现下载的情况,要设置到respone响应头中返回。

3.后台接收@RequestParam("upfile") MultipartFile file,参数要和imageFieldName中配置的相同。

4.返回的url就是图片的路径,如果配置了tomcat的虚拟路径记得调整,可以配合imagePath调整图片地址,图片可以保存到任何地方,只要url指向正确就可以了。

到这里功能就基本完成了,效果图如下:

  

可以看到上传成功并显示了。 

   

 对上传的图片进行缩放,可能会出现只能缩小不能放大,或只能放大,不能缩小的情况,找到umeditor/themes/default/css/umeditor.min.css,在umeditor.min.css文件最后添加一段css即可

.edui-container *{-webkit-box-sizing: content-box;-moz-box-sizing: content-box;box-sizing: content-box;}
.edui-container *:before,.edui-container *:after {-webkit-box-sizing: content-box;-moz-box-sizing: content-box;box-sizing: content-box;}

本文为原创,转载请注明出处

  • 1
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

qq_39098505

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值