`

ckeditor之java文件上传与文件浏览2

    博客分类:
  • web
阅读更多
ckeditor文件浏览功能只需要自己做个jsp或servlet接收请求参数并把图片以列表的形式显示出来即可,
当用户选定图片的时候提交一个回调函数即可,回调函数和之前的上传一样,参数说明见上一篇。

CKEDITOR.replace( 'editor_kama',
	{
		customConfig : 'custom/myCkConfig.js',
		skin : 'kama',
		//filebrowserBrowseUrl : '/browser/browse.php',
		filebrowserImageBrowseUrl : 'servlet/BrowerUpload',
		//filebrowserUploadUrl : '/uploader/upload.php',
		filebrowserImageUploadUrl : 'servlet/FileUpload'

	});			

这里可以看到 我们将filebrowserImageBrowseUrl 指向了一个我们自己编写的servlet


import java.io.File;
import java.io.IOException;
import java.io.PrintWriter;

import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

public class BrowerUpload extends HttpServlet {

	public BrowerUpload() {
		super();
	}

	public void destroy() {
		super.destroy(); // Just puts "destroy" string in log
	}

	public void doGet(HttpServletRequest request, HttpServletResponse response)
			throws ServletException, IOException {
		String callback = request.getParameter("CKEditorFuncNum");
		System.out.println(callback);
		response.setContentType("text/html");
		PrintWriter out = response.getWriter();
		out.println("<script type='text/javascript'>");
		out.println("function tt(obj){");
		out.println("window.opener.CKEDITOR.tools.callFunction("+callback+",obj)");
		out.println("window.close();");
		out.println("}");
		out.println("</script>");
		String uploadDir = getServletContext().getRealPath("/upload");
		File file = new File(uploadDir);
		if(!file.exists()){
			file.mkdir();
		}
		File[] files = file.listFiles();
		for(File f:files){
			if(f.isDirectory()){
				out.print(f.getName());
				File[] filesc = f.listFiles();
				for(File fc: filesc){
					out.print("<div onclick =tt('"+"upload/"+f.getName()+"/"+fc.getName()+"','')>");
					out.print("upload/"+f.getName()+"/"+fc.getName());
					out.print("</div>");
				}
			}
		}
		out.flush();
		out.close();
		
	}

	public void doPost(HttpServletRequest request, HttpServletResponse response)
			throws ServletException, IOException {

		doGet(request, response);
	}

	
	public void init() throws ServletException {
	}

}

这个servlet就是用来遍历目录中的文件并构建回调函数
以下就是模拟构建后的结果
<script type='text/javascript'>
function tt(obj){
window.opener.CKEDITOR.tools.callFunction(1,obj)
window.close();
}
</script>
20100528<div onclick =tt('upload/20100528/20100528161405687.gif','')>upload/20100528/20100528161405687.gif</div>

这里当点击链接的时候就处罚js函数,完成在ckeditor编辑框中插入图片的操作。

这里只是模拟,实际上在使用的时候可以考虑用js相册组件去修饰一下。
分享到:
评论

相关推荐

    Ckeditor 应用于 java web

    Ckeditor 上传图片 视频 去掉了 可以浏览 服务器 文件功能 中文乱码 等问题 是一个 myeclipse 下的demo

    CKEditor与 CKFinder 整合并实现文件上传功能.zip

    在项目中我们使用了FckEditor,但最新又出来了个ckEditor,到官方网站看看才知道FckEditor在2.6版本...配置简单的编辑器很简单,我们下载ckEditor就可以使用,我想大多数人都希望能用到编辑器里的浏览/插入图片功能吧。

    CKEditor+CKFinder Java版本的整合

    JSP中CKEditor+CKFinder的整合 笔者找了很多资料 最后整理出来一个最简洁的方法来和大家分享 已经经过测试 可以运行 成功实现文件上传和浏览

    KCFinder(CKEditor的文件管理器) v2.5.1

    KCFinder 跟 CKFinder 类似,是 CKEditor 的一个开源文件管理器插件,通过该插件可上传和对包括图片、Flash动画以及其他文件进行你个浏览和管理。KCFinder 支持简体中文。KCFinder Features:01 Ajax engine with ...

    JAVA上百实例源码以及开源项目

     Java局域网通信——飞鸽传书源代码,大家都知道VB版、VC版还有Delphi版的飞鸽传书软件,但是Java版的确实不多,因此这个Java文件传输实例不可错过,Java网络编程技能的提升很有帮助。 Java聊天程序,包括服务端和...

    JAVA上百实例源码以及开源项目源代码

     Java局域网通信——飞鸽传书源代码,大家都知道VB版、VC版还有Delphi版的飞鸽传书软件,但是Java版的确实不多,因此这个Java文件传输实例不可错过,Java网络编程技能的提升很有帮助。 Java聊天程序,包括服务端和...

    java开源包11

    Java文件上传组件 COS FAT文件系统读写类库 fat32-lib fat32-lib 是一个用来读写 FAT 16/32 格式文件系统的纯 Java 类库(纯的)。 Eclipse的HTML格式化插件 Eclipse Tidy Eclipse HTML Tidy 是一款 Eclipse 的...

    java开源包6

    Java文件上传组件 COS FAT文件系统读写类库 fat32-lib fat32-lib 是一个用来读写 FAT 16/32 格式文件系统的纯 Java 类库(纯的)。 Eclipse的HTML格式化插件 Eclipse Tidy Eclipse HTML Tidy 是一款 Eclipse 的...

    java开源包4

    Java文件上传组件 COS FAT文件系统读写类库 fat32-lib fat32-lib 是一个用来读写 FAT 16/32 格式文件系统的纯 Java 类库(纯的)。 Eclipse的HTML格式化插件 Eclipse Tidy Eclipse HTML Tidy 是一款 Eclipse 的...

    java开源包9

    Java文件上传组件 COS FAT文件系统读写类库 fat32-lib fat32-lib 是一个用来读写 FAT 16/32 格式文件系统的纯 Java 类库(纯的)。 Eclipse的HTML格式化插件 Eclipse Tidy Eclipse HTML Tidy 是一款 Eclipse 的...

    java开源包101

    Java文件上传组件 COS FAT文件系统读写类库 fat32-lib fat32-lib 是一个用来读写 FAT 16/32 格式文件系统的纯 Java 类库(纯的)。 Eclipse的HTML格式化插件 Eclipse Tidy Eclipse HTML Tidy 是一款 Eclipse 的...

    java开源包5

    Java文件上传组件 COS FAT文件系统读写类库 fat32-lib fat32-lib 是一个用来读写 FAT 16/32 格式文件系统的纯 Java 类库(纯的)。 Eclipse的HTML格式化插件 Eclipse Tidy Eclipse HTML Tidy 是一款 Eclipse 的...

    java开源包8

    Java文件上传组件 COS FAT文件系统读写类库 fat32-lib fat32-lib 是一个用来读写 FAT 16/32 格式文件系统的纯 Java 类库(纯的)。 Eclipse的HTML格式化插件 Eclipse Tidy Eclipse HTML Tidy 是一款 Eclipse 的...

    java开源包10

    Java文件上传组件 COS FAT文件系统读写类库 fat32-lib fat32-lib 是一个用来读写 FAT 16/32 格式文件系统的纯 Java 类库(纯的)。 Eclipse的HTML格式化插件 Eclipse Tidy Eclipse HTML Tidy 是一款 Eclipse 的...

    java开源包1

    Java文件上传组件 COS FAT文件系统读写类库 fat32-lib fat32-lib 是一个用来读写 FAT 16/32 格式文件系统的纯 Java 类库(纯的)。 Eclipse的HTML格式化插件 Eclipse Tidy Eclipse HTML Tidy 是一款 Eclipse 的...

    java开源包3

    Java文件上传组件 COS FAT文件系统读写类库 fat32-lib fat32-lib 是一个用来读写 FAT 16/32 格式文件系统的纯 Java 类库(纯的)。 Eclipse的HTML格式化插件 Eclipse Tidy Eclipse HTML Tidy 是一款 Eclipse 的...

    java开源包2

    Java文件上传组件 COS FAT文件系统读写类库 fat32-lib fat32-lib 是一个用来读写 FAT 16/32 格式文件系统的纯 Java 类库(纯的)。 Eclipse的HTML格式化插件 Eclipse Tidy Eclipse HTML Tidy 是一款 Eclipse 的...

    java开源包7

    Java文件上传组件 COS FAT文件系统读写类库 fat32-lib fat32-lib 是一个用来读写 FAT 16/32 格式文件系统的纯 Java 类库(纯的)。 Eclipse的HTML格式化插件 Eclipse Tidy Eclipse HTML Tidy 是一款 Eclipse 的...

    Java资源包01

    Java文件上传组件 COS FAT文件系统读写类库 fat32-lib fat32-lib 是一个用来读写 FAT 16/32 格式文件系统的纯 Java 类库(纯的)。 Eclipse的HTML格式化插件 Eclipse Tidy Eclipse HTML Tidy 是一款 Eclipse 的...

Global site tag (gtag.js) - Google Analytics