ckeditor 图片上传最新完美处理

需要做的有以下几步:
1. 到官网下载ckeditor,网址:http://ckeditor.com/download
2. 复制到java web项目目录下
3. 配置config文件,打开图片上传功能

Java代码
  1. CKEDITOR.editorConfig = function (config) {
  2. // 换行方式
  3. config.enterMode = CKEDITOR.ENTER_BR;
  4. // 当输入:shift+Enter是插入的标签
  5. config.shiftEnterMode = CKEDITOR.ENTER_BR;//
  6. //图片处理
  7. config.pasteFromWordRemoveStyles = true;
  8. config.filebrowserImageUploadUrl = "ckUploadImage.action?type=image";
  9. // 去掉ckeditor“保存”按钮
  10. config.removePlugins = 'save';
  11. };
CKEDITOR.editorConfig = function (config) {
// 换行方式
	config.enterMode = CKEDITOR.ENTER_BR;

	// 当输入:shift+Enter是插入的标签
	config.shiftEnterMode = CKEDITOR.ENTER_BR;// 
	//图片处理
	config.pasteFromWordRemoveStyles = true;
	config.filebrowserImageUploadUrl = "ckUploadImage.action?type=image";
	
	// 去掉ckeditor“保存”按钮
	config.removePlugins = 'save';
};

** 在这里另附flex引用ckeditor 编辑器默认全屏方法:
修改ckeditor.html页面:

Java代码
  1. <script type="text/javascript">
  2. if ( typeof CKEDITOR == 'undefined' )
  3. {
  4. document.write('加载失败') ;
  5. }
  6. else
  7. {
  8. //var editor = CKEDITOR.replace( 'editor1',
  9. // {
  10. // customConfig: "news_ck_config.js"
  11. // });
  12. var editor = CKEDITOR.replace( 'editor1');
  13. CKEDITOR.on('instanceReady', function(evt){
  14. var editor = evt.editor;
  15. editor.execCommand('maximize');
  16. });
  17. }
  18. </script>
<script type="text/javascript">
		if ( typeof CKEDITOR == 'undefined' )
		{
		  document.write('加载失败') ;
		}
		else
		{
		  //var editor = CKEDITOR.replace( 'editor1',
		  //     {
			//		customConfig: "news_ck_config.js"
		//		});
		 
		  var editor = CKEDITOR.replace( 'editor1');
				
		  CKEDITOR.on('instanceReady', function(evt){
	         var editor = evt.editor;
	         editor.execCommand('maximize');
	      });
		}

</script>



4. java后台处理代码

Java代码
  1. // 上传图片
  2. @Action(value = "/ckUploadImage", results = { @Result(name = "success", location = "/upload.jsp") })
  3. public String uploadImages() throws Exception {
  4. HttpServletRequest request = ServletActionContext.getRequest();
  5. FileOutputStream fos;
  6. String webRoot = request.getSession().getServletContext().getRealPath(
  7. "");
  8. // 获取图片后缀名
  9. String partRightType = uploadFileName.substring(uploadFileName
  10. .lastIndexOf("."));
  11. String CKEditorFuncNum = request.getParameter("CKEditorFuncNum");
  12. // 判断图片的格式
  13. if (!ImageFile.checkImageType(partRightType)) {
  14. String path = "";
  15. String alt_msg = "Sorry! Image format selection is incorrect, please choose GIF, jpeg, PNG format JPG, picture!";
  16. pringWriterToPage("<script type='text/javascript'>window.parent.CKEDITOR.tools.callFunction("
  17. + CKEditorFuncNum
  18. + ", '"
  19. + path
  20. + "' , '"
  21. + alt_msg
  22. + "');</script>");
  23. } else {
  24. try {
  25. uploadFileName = DateUtils.getDateNoStyle() + "-"
  26. + UUID.randomUUID() + partRightType;
  27. String savePath = webRoot + Constants.UPLOAD_IMAGES_PATH;
  28. File uploadFilePath = new File(savePath);
  29. if (uploadFilePath.exists() == false) {
  30. uploadFilePath.mkdirs();
  31. System.out.println("路径不存在,但是已经成功创建了" + savePath);
  32. } else {
  33. System.out.println("路径存在了" + savePath);
  34. }
  35. fos = new FileOutputStream(new File(savePath + uploadFileName));
  36. FileInputStream fis = new FileInputStream(getUpload());
  37. byte[] buffer = new byte[1024];
  38. int len = 0;
  39. while ((len = fis.read(buffer)) > 0) {
  40. fos.write(buffer, 0, len);
  41. }
  42. fos.close();
  43. fis.close();
  44. } catch (FileNotFoundException foe) {
  45. System.out.println("上传文件为0字节");
  46. }
  47. // String path = "http://" + request.getServerName() + ":"
  48. // + request.getServerPort() + request.getContextPath()
  49. // + Constants.UPLOAD_IMAGES_PATH + uploadFileName;
  50. String path = request.getContextPath()
  51. + Constants.UPLOAD_IMAGES_PATH + uploadFileName;
  52. String alt_msg = "";
  53. pringWriterToPage("<script type='text/javascript'>window.parent.CKEDITOR.tools.callFunction("
  54. + CKEditorFuncNum
  55. + ", '"
  56. + path
  57. + "' , '"
  58. + alt_msg
  59. + "');</script>");
  60. }
  61. return null;
  62. }
// 上传图片
	@Action(value = "/ckUploadImage", results = { @Result(name = "success", location = "/upload.jsp") })
	public String uploadImages() throws Exception {
		HttpServletRequest request = ServletActionContext.getRequest();
		FileOutputStream fos;
		String webRoot = request.getSession().getServletContext().getRealPath(
				"");
		// 获取图片后缀名
		String partRightType = uploadFileName.substring(uploadFileName
				.lastIndexOf("."));
		String CKEditorFuncNum = request.getParameter("CKEditorFuncNum");
		// 判断图片的格式
		if (!ImageFile.checkImageType(partRightType)) {
			String path = "";
			String alt_msg = "Sorry! Image format selection is incorrect, please choose GIF, jpeg, PNG format JPG, picture!";
			pringWriterToPage("<script type='text/javascript'>window.parent.CKEDITOR.tools.callFunction("
					+ CKEditorFuncNum
					+ ", '"
					+ path
					+ "' , '"
					+ alt_msg
					+ "');</script>");
		} else {
			try {

				uploadFileName = DateUtils.getDateNoStyle() + "-"
						+ UUID.randomUUID() + partRightType;

				String savePath = webRoot + Constants.UPLOAD_IMAGES_PATH;
				File uploadFilePath = new File(savePath);
				if (uploadFilePath.exists() == false) {
					uploadFilePath.mkdirs();
					System.out.println("路径不存在,但是已经成功创建了" + savePath);
				} else {
					System.out.println("路径存在了" + savePath);
				}
				fos = new FileOutputStream(new File(savePath + uploadFileName));
				FileInputStream fis = new FileInputStream(getUpload());
				byte[] buffer = new byte[1024];
				int len = 0;
				while ((len = fis.read(buffer)) > 0) {
					fos.write(buffer, 0, len);
				}
				fos.close();
				fis.close();
			} catch (FileNotFoundException foe) {
				System.out.println("上传文件为0字节");
			}

			// String path = "http://" + request.getServerName() + ":"
			// + request.getServerPort() + request.getContextPath()
			// + Constants.UPLOAD_IMAGES_PATH + uploadFileName;

			String path = request.getContextPath()
					+ Constants.UPLOAD_IMAGES_PATH + uploadFileName;
			String alt_msg = "";
			pringWriterToPage("<script type='text/javascript'>window.parent.CKEDITOR.tools.callFunction("
					+ CKEditorFuncNum
					+ ", '"
					+ path
					+ "' , '"
					+ alt_msg
					+ "');</script>");

		}

		return null;
	}



* 其实重点的代码就是这点,相信大家都能看的懂,有不懂的留言!
pringWriterToPage("<script type='text/javascript'>window.parent.CKEDITOR.tools.callFunction("
+ CKEditorFuncNum
+ ", '"
+ path
+ "' , '"
+ alt_msg
+ "');</script>");

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值