`
san586
  • 浏览: 132684 次
  • 性别: Icon_minigender_1
  • 来自: 武汉
社区版块
存档分类
最新评论

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中的写法。其中图片宽,高度等我懒得获取值,简单的附了初始值。
备注:关于文章系统的设计思路,开始一直在琢磨图片和文章的关联,最后决定放弃一切关系,图片的路径就放在文章的内容里,基本与文章没得关系。优点是,少个个图片表的维护,缺点是,图片只能增不能删,删除图片时只能手工删除了,好歹我把图片的名字设置成日期格式了。
    如果真的要实现删除图片的话,也好办,找到文章的创建日期,根据日期来删除图片,目前只想到整天整天的删。
分享到:
评论
4 楼 r4196503 2012-05-21  
14行 copy(imgFile, newPath);  第一个参数imgFile是哪里来的???????
3 楼 pengxiang01 2010-11-28  
引用了哪些包能告诉我么 我用你的找不到包
2 楼 wjc_3306 2010-05-09  
您好 能说的详细点吗?
1 楼 dinguangx 2009-09-08  
知道了创建时的文件名,怎么就不能删除呢?

相关推荐

Global site tag (gtag.js) - Google Analytics