CKEditor4.7之使用实现图片上传功能

步骤

1.下载CKEditor4.7

官网下载CKEditor,基础包,标准包,全包选择其一。地址:https://ckeditor.com/ckeditor-4/download/

CKEditor4.7之使用实现图片上传功能_第1张图片

2.将文件CKEditor4.7解压至WebRoot文件夹下

下载文件后将其解压至WebRoot文件夹下

CKEditor4.7之使用实现图片上传功能_第2张图片

3.使用


    
    
    

    

 

3.修改ckeditor的image.js文件,开发图片上传权限

打开ckeditor\plugins\image\dialogs\image.js文件,在打开的文件搜索hidden,找到Upload将它后面的!0修改为0

CKEditor4.7之使用实现图片上传功能_第3张图片

4. 修改ckeditor的config.js,加入图片上传地址url

打开CKEditor根目录下的config.js 在里面添加下面自己的图片上传地址

    config.image_previewText=' '; //预览区域显示内容
    config.filebrowserUploadUrl = '/cescp/MenuInfoAction_imgUpload.action';

    config.removePlugins = 'easyimage,cloudservices';
    config.removeDialogTabs = 'image:advanced;image:Link';  

CKEditor4.7之使用实现图片上传功能_第4张图片

5.完成图片上传功能

//新闻图片上传服务器
	private File upload; // 文件
	private String uploadContentType; // 文件类型
	private String uploadFileName; // 文件名
 
	/**
	 * 图片上传
	 * 
	 * @return
	 * @throws IOException
	 */
	public String imgUpload() throws IOException {
 
		// 获得response,request
		HttpServletResponse response = ServletActionContext.getResponse();
		HttpServletRequest request = ServletActionContext.getRequest();
 
		response.setCharacterEncoding("utf-8");
		PrintWriter out = response.getWriter();
		// CKEditor提交的很重要的一个参数
		String callback = request.getParameter("CKEditorFuncNum");
		String expandedName = ""; // 文件扩展名
		if (uploadContentType.equals("image/pjpeg")
				|| uploadContentType.equals("image/jpeg")) {
			// IE6上传jpg图片的headimageContentType是image/pjpeg,而IE9以及火狐上传的jpg图片是image/jpeg
			expandedName = ".jpg";
		} else if (uploadContentType.equals("image/png")
				|| uploadContentType.equals("image/x-png")) {
			// IE6上传的png图片的headimageContentType是"image/x-png"
			expandedName = ".png";
		} else if (uploadContentType.equals("image/gif")) {
			expandedName = ".gif";
		} else if (uploadContentType.equals("image/bmp")) {
			expandedName = ".bmp";
		} else {
			out.println("");
			return null;
		}
		if (upload.length() > 600 * 1024) {
			out.println("");
			return null;
		}
 
		InputStream is = new FileInputStream(upload);
		//图片上传路径
		String uploadPath = ServletActionContext.getServletContext().getRealPath("/img/uploadImg");
		String fileName = java.util.UUID.randomUUID().toString(); // 采用时间+UUID的方式随即命名
		fileName += expandedName;
		File file = new File(uploadPath);
		if (!file.exists()) { // 如果路径不存在,创建
			file.mkdirs();
		}
		File toFile = new File(uploadPath, fileName);
		OutputStream os = new FileOutputStream(toFile);
		byte[] buffer = new byte[1024];
		int length = 0;
		while ((length = is.read(buffer)) > 0) {
			os.write(buffer, 0, length);
		}
		is.close();
		os.close();
 
		// 返回"图像"选项卡并显示图片  request.getContextPath()为web项目名 
		out.println("");
		return null;
	}
 
	public File getUpload() {
		return upload;
	}
 
	public void setUpload(File upload) {
		this.upload = upload;
	}
 
	public String getUploadContentType() {
		return uploadContentType;
	}
 
	public void setUploadContentType(String uploadContentType) {
		this.uploadContentType = uploadContentType;
	}
 
	public String getUploadFileName() {
		return uploadFileName;
	}
 
	public void setUploadFileName(String uploadFileName) {
		this.uploadFileName = uploadFileName;
	}

6.效果图

CKEditor4.7之使用实现图片上传功能_第5张图片

你可能感兴趣的:(CKEditor)