ckedit 浏览图片和上传图片

<head>标签内引入

<script src="${ctx}/ckeditor/ckeditor.js" type="text/javascript"></script>

config.js配置文件

CKEDITOR.editorConfig = function( config ) {
 // Define changes to default configuration here. For example:
 config.language = 'zh-cn';
 config.uiColor = '#AADC6E';
 config.image_previewText=' '; //预览区域显示内容  
 
 config.filebrowserWindowWidth = '440';      
 config.filebrowserWindowHeight = '500';
    config.filebrowserImageUploadUrl = 'upload.action';
    //定义图片上传的action   
    config.filebrowserImageBrowseUrl = 'browse.action?type=images';  
    //定义浏览服务器图片的页面 
};

浏览服务器图片页面代码browse.jsp:

<%@ page language="java" contentType="text/html; charset=UTF-8"
 pageEncoding="UTF-8"%>
<%@page import="java.io.File"%>
<script type="text/javascript">
 //这段函数是重点,不然不能和CKEditor互动了
 function funCallback(funcNum, fileUrl) {
  var parentWindow = (window.parent == window) ? window.opener
    : window.parent;
  parentWindow.CKEDITOR.tools.callFunction(funcNum, fileUrl);
  window.close();
 }
</script>
<div>

 <%
  String path = request.getContextPath() + "/";
  String type = "";
  if (request.getParameter("type") != null)//获取文件分类         
   type = request.getParameter("type").toLowerCase() + "/";
  String clientPath = "ckeditor/uploader/upload/" + type;
  File root = new File(request.getSession().getServletContext()
    .getRealPath(clientPath));
  if (!root.exists()) {
   root.mkdirs();
  }
  String callback = request.getParameter("CKEditorFuncNum");
  File[] files = root.listFiles();
  if (files.length > 0) {
   for (File file : files) {
    String src = path + clientPath + file.getName();
    out.println("<img width='110px' height='70px' src='" + src
      + "' alt='" + file.getName()
      + "' onclick=\"funCallback(" + callback + ",'"
      + src + "')\">");
   }
  } else {
   out.println("<h3>未检测到资源。</h3>");
  }
 %>
</div>

strut.xml配置

<!-- ckeditor浏览和上传图片 -->
  <action name="browse" class="noticeAction" method="browse" >
   <result name="success">/ckeditor/uploader/browse.jsp</result>
  </action>

后台代码,后台action不做处理,直接跳转到browse.jsp页面

  //ckeditor上传图片和浏览图片
  public String browse(){
   System.out.println(this.getRequest().getContextPath());
   System.out.println(ServletActionContext.getServletContext().getRealPath("ckeditor/uploader/upload/"));
   return SUCCESS;
   
  }

实际效果如下图:

上传图片action代码:

    private File upload;  
    private String uploadContentType;           
    private String uploadFileName;      
    private String CKEditorFuncNum;
 
 
 public String upload(){
   String destPath = ServletActionContext.getServletContext().getRealPath("ckeditor/uploader/upload/images/");
   System.out.println(destPath);
   File file=new File(destPath);
   if(!file.exists()) file.mkdirs();
   System.out.println(file);
         try {          
          System.out.println(uploadFileName);
          String uuid = UUID.randomUUID().toString();   
          
        String rt[] = uploadFileName.split("\\.");          
        System.out.println(rt[1]);          
        uploadFileName = new String(uuid+"."+rt[1]);//解决上传图片中文路径时服务器报错的问题。
         FileUtils.copyFile(upload, new File(file,uploadFileName));
        
         PrintWriter out = ServletActionContext.getResponse().getWriter();
         out.write("<script type='text/javascript'>window.parent.CKEDITOR.tools.callFunction("+CKEditorFuncNum+", '/admin/ckeditor/uploader/upload/images/"     
         + uploadFileName    
         + "', '');</script>");
         
         } catch (IOException e) {
    e.printStackTrace();
   }
   return Action.NONE;
   
  }

strut.xml配置无需result

<action name="upload" class="noticeAction" method="upload" >
  </action>

参考文章:

http://blog.csdn.net/mamba10/article/details/8543219

该文章中out.write写图片路径时前面少加了个应用名admin(你的web项目部署在服务器下的应用名),大家要注意

本文出自 “点滴积累” 博客,请务必保留此出处http://tianxingzhe.blog.51cto.com/3390077/1682293

时间: 2024-09-13 22:03:00

ckedit 浏览图片和上传图片的相关文章

Win7画图程序巧应用 浏览图片多用途

浏览图片,我们可能更多的使用Windows默认的浏览方式,或者是第三方的比如Google Picasa,或者美图看看等这样的软件实现图片的浏览播放.但除了这些,是否有朋友会记得Win7画图程序呢?她不仅仅是一个只能画图的工具,当然也可以浏览图片,甚至也能实现一些意想不到的效果,所以接下来我们就来看看Win7的画图程序在图片浏览方面还能怎么做? 很多人甚至已经遗忘了Win7画图程序在哪里,不妨再多啰嗦几句.相比于XP等老系统,Win7的画图工具还是改进了不少,比如类菜单似于Office 的Ribb

js实现在同一窗口浏览图片

 在同一窗口浏览图片的方法有很多,本例要为大家介绍的是使用js获取img的src属性后进行替换,有此需要的朋友可以参考下 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//E

WP8中多点触控,浏览图片的时候,如何控制图片在拖动过程中不被拖出屏幕?

问题描述 WP8中多点触控,浏览图片的时候,如何控制图片在拖动过程中不被拖出屏幕? 如果!我现在在多点触控的时候,放大缩小实现了,但放大后拖动图片,会将图片拖出屏幕,这是我做的一个DEMO, 地址如下:https://onedrive.live.com/redir?resid=56C8C9A332A136A7!287&authkey=!AL5pu2Nvxx66dGc&ithint=file%2c.rar可以下载此demo下来看下,在此demo基础下修改,或者有现成的控制例子也可以,实在是想

Android仿微信发朋友圈浏览图片效果_Android

先看一下效果吧: 下面就来说一下具体怎么实现的: 实现思路 1.首先我们要获取数据源,数据源就是我们的每条说说(包括姓名.标题.图片数组) 2.自定义适配器(ListView嵌套着GridView) 3.图片点击浏览图片(Fragment+ViewPager) 具体实现 1.初始化数据源,设置适配器,看一下代码: public class MyActivity extends Activity { /*图片显示列表*/ private ListView listView; /*图片URL数组*/

wpf 模拟3D效果(和手机浏览图片效果相似)(附源码)

原文 wpf 模拟3D效果(和手机浏览图片效果相似)(附源码) pf的3D是一个很有意思的东西,类似于ps的效果,类似于电影动画的效果,因为动画的效果,(对于3D基础的摄像机,光源,之类不介绍,对于依赖属性也不介绍.),个人认为,依赖属性这个东西,有百分之五十是为了3D而存在.(自己写的类似于demo的东西)先上图,无图无真相这是demo的整个效果图,可以用鼠标移动,触摸屏也可以手指滑动,图片会移动,然后移动结束,会有一个回弹的判断. <Window x:Class="_3Dshow.Wi

js实现在同一窗口浏览图片_javascript技巧

在同一窗口浏览图片的方法有很多,本例要为大家介绍的是使用js获取img的src属性后进行替换,有此需要的朋友可以参考下 <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> <html> <head> <meta http-equiv="Content-Type&q

XP系统如何使用Media Player浏览图片 XP系统使用Media Player浏览图片方法

Windows Mdia Player是一款非常受欢迎的多媒体软件,我们可以使用它来播放各类视频.同时也可以用来浏览图片:可是很多XP系统的用户还不知道怎么使用:下面小编就为大家带来XP系统使用Media Player浏览图片的方法!一起去看看吧! 操作方法: 1.打开WinXP系统自带的Windows Media Player. 2.执行"文件"菜单--"打开"命令,然后在弹出的对话框中选择需要浏览的图片文件,再点击打开按钮即可,(注意需要将"文件类型&

Android仿微信发朋友圈浏览图片效果

先看一下效果吧: 下面就来说一下具体怎么实现的: 实现思路 1.首先我们要获取数据源,数据源就是我们的每条说说(包括姓名.标题.图片数组) 2.自定义适配器(ListView嵌套着GridView) 3.图片点击浏览图片(Fragment+ViewPager) 具体实现 1.初始化数据源,设置适配器,看一下代码: public class MyActivity extends Activity { /*图片显示列表*/ private ListView listView; /*图片URL数组*/

ckfinder_aspnet_3.3.0 上传图片和浏览图片怎么设置。

问题描述 <!DOCTYPEhtmlPUBLIC"-//W3C//DTDXHTML1.0Transitional//EN""http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><htmlxmlns="http://www.w3.org/1999/xhtml"><headrunat="server"><title>无标题