软件世界网 购物 网址 三丰软件 | 小说 美女秀 图库大全 游戏 笑话 | 下载 开发知识库 新闻 开发 图片素材
多播视频美女直播
↓电视,电影,美女直播,迅雷资源↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
移动开发 架构设计 编程语言 Web前端 互联网
开发杂谈 系统运维 研发管理 数据库 云计算 Android开发资料
  软件世界网 -> 编程语言 -> UEditor -> 正文阅读

[编程语言]UEditor


        UEditor是一款很强大的编辑器,但是在使用中又会遇到一些问题。比如常见的因为后台配置原因提示无法上传图片或者附件之类的。下面就把使用过程中遇到的问题和解决方法给各位友友分享一下:
 1、下载依赖包
下载地址:http://ueditor.baidu.com/website/download.html

注:如果你想实现自定义文件上传,建议下载源码包。
2、使用方法就不赘述了,自己可以看官方的文档
官方文档地址:http://fex.baidu.com/ueditor/
3、在使用中遇到的问题
3.1 后台配置问题,无法上传文件
问题一:下载的包中jsp文件夹下面的config.json这个文件不能用记事本打开来编辑,否则就会出现JSON格式化异常。
可以用源码自己打断点试试。大坑,如果你不想跳的话,就老老实实地别用记事本了。
问题二:官方给的说明文档是直接部署在tomcat下一个项目,但是这样显然不符合我们的实际情况。如果你的项目是分布式部署的,那么对不起,你在不修改源码的情况下,貌似无法实现图片资源的多实例共享。此时,悲剧的事情就发生了,你懂的。
官网的配置文件config.json在获取文件目录时都是捕获的项目路径,但是分布式部署的时候,我们文件显然不是存放在单个示例的某个文件夹下面的。此时我们就需要对文件上传部分的路径进行一下修改,这也是前面建议大家下载源码的原因。
那么修改哪些部分呢,下面直接上源码:
1、文件上传分发器
package com.baidu.ueditor.upload;
public class Uploader {
	private HttpServletRequest request = null;
	private Map<String, Object> conf = null;

	public Uploader(HttpServletRequest request, Map<String, Object> conf) {
		this.request = request;
		this.conf = conf;
	}
    //官网文件上传的执行方法
	public final State doExec() {
		String filedName = (String) this.conf.get("fieldName");
		State state = null;
        //处理不同的文件上传请求
		if ("true".equals(this.conf.get("isBase64"))) {
			state = Base64Uploader.save(this.request.getParameter(filedName),
					this.conf);
		} else {
			state = BinaryUploader.save(this.request, this.conf);
		}

		return state;
	}
}

2、Base64Uploader.java
public static State save(String content, Map<String, Object> conf) {
	
	byte[] data = decode(content);

	long maxSize = ((Long) conf.get("maxSize")).longValue();

	if (!validSize(data, maxSize)) {
		return new BaseState(false, AppInfo.MAX_SIZE);
	}

	String suffix = FileType.getSuffix("JPG");
    //这里的保存路径就是你在config.json中的imagePathFormat路径的值
	String savePath = PathFormat.parse((String) conf.get("savePath"),
			(String) conf.get("filename"));
	
	savePath = savePath + suffix;
	//官方的文件物理路径,这也就是无法实现分部署部署的关键
    //String physicalPath = (String) conf.get("rootPath") + savePath;
	//此处修改为自己的文件上传路径便于分布式部署
	String physicalPath =Global.getProperties("sys.commons.FILE_UPLOAD_PATH") + savePath;
	State storageState = StorageManager.saveBinaryFile(data, physicalPath);

	if (storageState.isSuccess()) {
		storageState.putInfo("url", PathFormat.format(savePath));
		storageState.putInfo("type", suffix);
		storageState.putInfo("original", "");
	}

	return storageState;
}

3、BinaryUploader.java中的方法按照自己的修改一下即可。
4、如果你的文件上传物理路径不是写在配置文件中,那么在config.json中新加一个物理路径参数,直接用conf取出来即可。即:
String physicalPath =(String) conf.get("yourphysicalPath") + savePath;

5、本处大家修改成自己的实现以后,在浏览本地图片资源的地方也记得修改,不然无法查看你已经上传的资源。
修改下面类中的方法即可,在此就不做累赘了。
FileManager.getPath( File file )

6.如果大家用的是源码,并且是和其他框架一起使用的话,那官方提供的依赖包就不需要重新导入了。




版权声明:转载请注明博文地址,尊重作者劳动成果。欢迎关注http://blog.csdn.net/zgs_shmily,一起成长。
......显示全文...
    点击查看全文


上一篇文章      下一篇文章      查看所有文章
2015-08-23 13:05:20  
编程语言 最新文章
Java面试题(1)
ReactiveX序列——RxSwift
C++STL之ACM相关知识大全
c++中vector向量几种情况的总结(向量指针,
SSH框架整合demo
JAX
UVA
curl备忘(1)
C#机房重构——万事开头难(二)
OJ刷题
360图书馆 软件开发资料 文字转语音 购物精选 软件下载 美食菜谱 新闻资讯 电影视频 小游戏 Chinese Culture 股票 租车
生肖星座 三丰软件 视频 开发 短信 中国文化 网文精选 搜图网 美图 阅读网 多播 租车 短信 看图 日历 万年历 2017年9日历
2017-9-24 16:50:50
多播视频美女直播
↓电视,电影,美女直播,迅雷资源↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  软件世界网 --