软件世界网 购物 网址 三丰软件 | 小说 美女秀 图库大全 游戏 笑话 | 下载 开发知识库 新闻 开发 图片素材
多播视频美女直播
↓电视,电影,美女直播,迅雷资源↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
移动开发 架构设计 编程语言 Web前端 互联网
开发杂谈 系统运维 研发管理 数据库 云计算 Android开发资料
  软件世界网 -> 编程语言 -> UEditor -> 正文阅读
编程语言 最新文章
Java面试题(1)
ReactiveX序列——RxSwift
C++STL之ACM相关知识大全
c++中vector向量几种情况的总结(向量指针,
SSH框架整合demo
JAX
UVA
curl备忘(1)
C#机房重构——万事开头难(二)
OJ刷题

[编程语言]UEditor

  2015-08-23 13:08:06

        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  
360图书馆 论文大全 母婴/育儿 软件开发资料 网页快照 文字转语音 购物精选 软件 美食菜谱 新闻中心 电影下载 小游戏 Chinese Culture
生肖星座解梦 三沣玩客 拍拍 视频 开发 Android开发 站长 古典小说 网文精选 搜图网 天下美图 中国文化英文 多播视频 装修知识库
2017-3-28 8:22:19
多播视频美女直播
↓电视,电影,美女直播,迅雷资源↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  软件世界网 --