文档章节

百度富文本编辑器ueditor上传图片存储又拍云java修改

lindeyi
 lindeyi
发布于 2016/11/26 11:52
字数 418
阅读 134
收藏 0

我在网上找了一圈没找到ueditor的upyun存储java处理,upyun官方提供了php的,

而公司使用的项目是java编写的。只能对ueditor的源码包稍作修改满足需求。

ueditor目录结构,只要修改文件的存储位置,所有只修改upload包下相关的文件即可。

1、修改存储路径

Base64Uploader.java和BinaryUploader.java下

//		String physicalPath = (String) conf.get("rootPath") + savePath;
		String physicalPath =  savePath;

去掉拼接rootPath的路径。

2、修改存储管理类StorageManager.java

发现类中3个public的方法2个参数流,另一个参数字节数组。流存储都调用相同的方法saveTmpFile;

于是把原方法

private static State saveTmpFile(File tmpFile, String path) {
		State state = null;
		File targetFile = new File(path);
		
		if (targetFile.canWrite()) {
			return new BaseState(false, AppInfo.PERMISSION_DENIED);
		}
		try {
			FileUtils.moveFile(tmpFile, targetFile);
		} catch (IOException e) {
			return new BaseState(false, AppInfo.IO_ERROR);
		}
		
		state = new BaseState(true);
		state.putInfo( "size", targetFile.length() );
		state.putInfo( "title", targetFile.getName() );
		
		return state;
	}

修改为

	private static State saveTmpFile(File tmpFile, String path) {
		State state = null;
		
		try {
			boolean upload = UpYunFileUtils.upload(path, tmpFile, null);
			if (!upload) {
				return new BaseState(false, AppInfo.IO_ERROR);
			}
		} catch (IOException e) {
			return new BaseState(false, AppInfo.IO_ERROR);
		}

		path = path.substring(path.lastIndexOf("/")+1, path.length());
		state = new BaseState(true);
		state.putInfo( "size", tmpFile.length() );
		state.putInfo( "title", path );
		
		return state;
	}

UpYunFilleUtils类是我在上面文章写upyun封装的。

现在还剩一个字节数组的方法需要处理,如下:

public static State saveBinaryFile(byte[] data, String path) {

		State state = null;

		try {
			boolean upload = UpYunFileUtils.upload(path, data, null);
			
			if (!upload) {
				return new BaseState(false, AppInfo.IO_ERROR);
			}
		} catch (Exception ioe) {
			return new BaseState(false, AppInfo.IO_ERROR);
		}
		state = new BaseState(true, path);
		path = path.substring(path.lastIndexOf("/")+1, path.length());
		state.putInfo( "size", data.length );
		state.putInfo( "title", path);
		return state;
	}

现在管理jar包已经修改了,编译生成ueditor.upyun.jar,引入使用的项目。

最后把ueditor配置修改下。

修改ueditor/jsp/config.json配置
imageUrlPrefix:"又拍云图片域名"
 

© 著作权归作者所有

lindeyi
粉丝 5
博文 16
码字总数 14150
作品 0
海淀
私信 提问
让ueditor和又拍云搞基(form api,java)

又拍云和ueditor集成 图片上传选择又拍云的form api,这种方式图片上传就直接走又拍云服务器,不经过自己服务器。不过form api的sdk现在在又拍云官网只有php版,java版的有一个android的for...

duoduo3_69
2013/10/30
0
1
nodeJS部署ueditor富文本编辑器

在做一个私人项目的时候需要用到在线富文本编辑器,多方寻觅后选定百度的ueditor,不过,竟然不支持nodeJS后台。 查! 找很多博客,很多教程,最后捋了一个自认为还算清晰的思路来。 以独立小...

飞翔的熊blabla
01/24
0
0
ueditor集合又拍云(java版)

又拍云和ueditor集成 图片上传选择又拍云的form api,这种方式图片上传就直接走又拍云服务器,不经过自己服务器。不过form api的sdk现在在又拍云官网只有php版,java版的有一个android的for...

duoduo3_69
2013/10/30
1K
1
JAVAEE——宜立方商城04:图片服务器FastDFS、富文本编辑器KindEditor、商品添加功能完成

1. 学习计划 1、图片上传 a) 图片服务器FastDFS b) 图片上传功能实现 2、富文本编辑器的使用KindEditor 3、商品添加功能完成 2. 图片服务器的安装 1、存储空间可扩展。 2、提供一个统一的访问...

kent鹏
2018/07/22
0
0
Javashop B2C 6.3.2 发布,开源电商系统

Javashop B2C 6.3.2版本发布了,更新内容: 后台界面更改为:Layui。 增加支付方式:微信支付。 支持微信、支付宝原路退款。 增加静态页生成组件。 增加Lucene全文检索组件。 增加团购组件。...

kingapex
2017/09/20
2.7K
4

没有更多内容

加载失败,请刷新页面

加载更多

微服务之架构技术选型与设计

本文主要介绍了架构技术选型与设计-微服务选型,Spring cloud 实现采用的技术,希望对您的学习有所帮助。 架构技术选型与设计-DUBBODubbo,是阿里巴巴服务化治理的核心框架,并被广泛应用于阿...

别打我会飞
45分钟前
3
0
在Windows中运行Linux bash命令的几种方法

如果你正在课程中正在学习 shell 脚本,那么需要使用 Linux 命令来练习命令和脚本。 你的学校实验室可能安装了 Linux,但是你自己没有安装了 Linux 的笔记本电脑,而是像其他人一样的 Window...

老孟的Linux私房菜
47分钟前
6
0
深入理解计算机系统(1.1)------Hello World 是如何运行的

上一篇序章我谈了谈 程序员为啥要懂底层计算机结构 ,有人赞同也有人反对,但是这并不影响 LZ 对深入理解计算机系统研究的热情。这篇博客以案例驱动的模式,通过跟踪一个简单 Hello World 程...

vinci321
53分钟前
2
0
Linux操作系统之Shell程序设计

Linux操作系统之Shell程序设计 Shell是种命令解释程序,也可以看作是一种命令语言的解释器。 用户在与Shell交互时所输入的命令行必须符合Shell命令的语法和语义规范,才能够被Shell理解并执行...

linuxCool
今天
6
0
Java Foreach拉姆达表达式

以下案例分析了foreach循环和Java8 拉姆达表达式的区别 public static void main(String[] args) {/* * foreach 和 list */List<String> arrs = new ArrayList<>();...

cuishy
今天
6
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部