kindeditor上传图片的修改

最近做新闻系统,用了kindeditor,其中上传图片的功能没有Java版的,自己修改了下并实现它,记录下来,备忘。
我一般不是很赞同修改别人的源代码,尤其是这种开源的,否则移植性很差火,所以尽量修改最少。
1、修改../plugins/image.html文件
把form提交的地址改成action的地址。其余的不变
2、实现action,获得上传文件,并保存文件到相应目录,然后返回时注意是HTML代码,要调用kindeditor中的插入图片和关闭层的函数,其实就是一个函数,action代码如下:
/*
* 上传图片
*/
@SuppressWarnings("deprecation")
public String inputimage() throws Exception {
String imagename = getImgFileFileName();
imagename = FormatConstants.DATE_TIME_FORMAT_IMAGE.format(DateUtils
.getCurrentDateTime())
+ imagename.substring(imagename.lastIndexOf("."), imagename
.length());
try {
String newPath = getRequest().getRealPath("")
+ "\\upload\\articleimage\\" + imagename;
copy(imgFile, newPath);
addActionMessage("保存成功!");
} catch (Exception e) {
logger.error(e.getMessage(), e);
addActionError("保存失败!");
return "imageinput";
}
String id = "content1";
String url = "http://" + getRequest().getServerName() + ":"+ getRequest().getServerPort() + "/upload/articleimage/"
+ imagename;
String title = "100";
String width = "100";
String height = "100";
String border = "0";
return renderHtml(("<script type=\"text/javascript\">parent.KE.plugin[\"image\"].insert(\""
+ id
+ "\",\""
+ url
+ "\",\""
+ title
+ "\",\""
+ width
+ "\",\"" + height + "\",\"" + border + "\");</script>"));
}

/**
* 拷贝文件
*
* @param upload文件流
* @param newPath新文件路径和名称
* @throws Exception
*/
private void copy(File upload, String newPath) throws Exception {
FileOutputStream fos = new FileOutputStream(newPath);
FileInputStream fis = new FileInputStream(upload);
byte[] buffer = new byte[1024];
int len = 0;
while ((len = fis.read(buffer)) > 0) {
fos.write(buffer, 0, len);
}
fos.close();
fis.close();
}

以上代码是ss3ex中的写法。其中图片宽,高度等我懒得获取值,简单的附了初始值。
备注:关于文章系统的设计思路,开始一直在琢磨图片和文章的关联,最后决定放弃一切关系,图片的路径就放在文章的内容里,基本与文章没得关系。优点是,少个个图片表的维护,缺点是,图片只能增不能删,删除图片时只能手工删除了,好歹我把图片的名字设置成日期格式了。
如果真的要实现删除图片的话,也好办,找到文章的创建日期,根据日期来删除图片,目前只想到整天整天的删。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值