`
dsea
  • 浏览: 44537 次
  • 性别: Icon_minigender_1
  • 来自: 长沙
社区版块
存档分类
最新评论

kindeditor struts2 图片上传

阅读更多

关于kindeditor和struts的图片上传,网上有很多方法,但很多都很复杂,比如通过Action处理,还要修改配置文件等,关键是还让人看的一头雾水。现在介绍一种简单的方法,只要添加一个jsp页面,和修改部分页面代码就行了(此方法结合网上的部分代码,dsea总结,并非原创!)。

 

1.项目中加入kindeditor,这一步大家应该都很清楚,就不累述了。

 

2.添加jar包支持,需要commons-fileupload-1.2.1.jar、commons-io-1.3.2.jar、json_simple-1.1.jar。kindeditor的lib目录下有这三个jar文件。

 

3.找到kindeditor目录下的plugins/image/image.html页面,修改如下代码,默认为php,修改为你的jsp上传处理页面。

var imageUploadJson = (typeof KE.g[id].imageUploadJson == 'undefined') ? '../../jsp/struts2Upload.jsp ' 

 

4.把struts2Upload.jsp添加到kindeditor目录/jsp/目录下,struts2Upload.jsp代码为:

 

<%@ page language="java" pageEncoding="GBK"%>  
<%@page  
    import="java.util.*,java.io.*,  
    org.apache.struts2.dispatcher.multipart.MultiPartRequestWrapper,  
    java.util.concurrent.locks.*"%>  
<%  
    //Struts2  请求 包装过滤器  
    MultiPartRequestWrapper wrapper = (MultiPartRequestWrapper) request;  
    // 获得上传的文件名   
    String fileName = wrapper.getFileNames("imgFile")[0];  
    //获得未见过滤器   
    File file = wrapper.getFiles("imgFile")[0];  
    //----------- 重新构建上传文件名----------------------  
    final Lock lock = new ReentrantLock();  
    String newName = null;  
    lock.lock();  
    try {  
        //加锁为防止文件名重复   
        newName = System.currentTimeMillis()  
                + fileName.substring(fileName.lastIndexOf("."),  
                        fileName.length());  
    }finally {  
        lock.unlock();  
    }  
    //------------ 锁结束 -------------  
    //获取文件输出流   
    FileOutputStream fos = new FileOutputStream(request.getSession()  
            .getServletContext().getRealPath("/")  
            + "ke_upload\\" + newName);  
    //设置 KE 中的图片文件地址   
    String newFileName = request.getScheme() + "://"  
            + request.getServerName() + ":" + request.getServerPort()  
            + request.getContextPath() + "/ke_upload/" + newName;  
    byte[] buffer = new byte[1024];  
    //获取内存中当前文件输入流   
    InputStream in = new FileInputStream(file);  
    try {  
        int num = 0;  
        while ((num = in.read(buffer)) > 0) {  
            fos.write(buffer, 0, num);  
        }  
    } catch (Exception e) {  
        e.printStackTrace(System.err);  
    } finally {  
        in.close();  
        fos.close();  
    }  
    //发送给KE   
    out.println("<html><head><title>Insert Image</title><meta http-equiv='content-type' content='text/html; charset=gbk'/></head><body>");  
    out.println("<script type='text/javascript'>");  
    out.println("parent.parent.KE.plugin['image'].insert('"  
            + wrapper.getParameter("id") + "','" + newFileName + "','"  
            + wrapper.getParameter("imgTitle") + "','"  
            + wrapper.getParameter("imgWidth") + "','"  
            + wrapper.getParameter("imgHeight") + "','"  
            + wrapper.getParameter("imgBorder") + "','"  
            + wrapper.getParameter("align") + "');</script>");  
    out.println("</body></html>");  
%>  

 

5.根据struts2Upload.jsp页面中上传图片的保存路径在WebRoot目录下建立ke_upload文件夹。

 

6.ok,这样就可以上传图片了,但是好像kindeditor没提供删除已上传的图片功能,感觉有点点缺陷。

 

 

分享到:
评论
2 楼 dsea 2012-09-15  
greatghoul 写道
这种用 struts2 确实是。。。

什么意思?
1 楼 greatghoul 2012-08-23  
这种用 struts2 确实是。。。

相关推荐

    kindeditor图片上传 struts2实现

    在本文中,我们将详细探讨如何将KindEditor与Struts2整合,实现图片上传功能,并使用Bootstrap来优化页面展示。 首先,我们需要下载KindEditor的中文版本,如提供的`kindeditor-4.1.10-zh-CN.zip`文件。解压后,...

    KindEditor-4.1.9批量上传图片完整示例(可以上传到image目录下的子目录中,可返回上一级目录,并实现了按名称、大小、类型排序的功能)

    这是本人写的一个基于KindEditor-4.1.9的Java项目,采用Struts2框架,实现了KindEditor单张图片上传、批量图片上传,可以上传到image目录下的子目录中,可返回上一级目录,并实现了按名称、大小、类型排序的功能。...

    kindeditor编辑器与struts2上传图片错误冲突解决

    在使用Kindeditor与Struts2集成进行图片上传时,开发者可能会遇到以下错误: 1. **文件类型验证失败**:Struts2的默认配置可能不允许上传某些类型的文件,如图片文件。这可能导致“不允许的文件类型”错误。 2. **...

    kindeditor整合struts2 并且增加删除图片功能

    在Struts2的配置文件(通常为struts.xml)中,定义一个Action类,处理图片上传和删除的操作。例如: ```xml &lt;param name="contentType"&gt;image/jpeg &lt;param name="inputName"&gt;fileInputStream ...

    kindeditor上传视频、图片功能实现

    1. **KindEditor的图片上传功能**: KindEditor内建了图片上传的功能,用户可以通过点击编辑器内的“图片”按钮打开图片上传对话框。这个功能通常通过Ajax异步方式与服务器进行交互,将图片文件上传到指定的服务器...

    kindeditor-v4.0.6 Struts2修订版

    KindEditor是一款流行的开源富文本编辑器,它提供了多种格式的文字编辑、图片上传、表格处理等功能,广泛应用于Web内容管理系统和论坛等场景。Struts2则是一个强大的Java Web开发框架,基于Model-View-Controller...

    kindEditor编辑器与struts2整合的源文件

    7. **个性化配置**:KindEditor支持多种语言,可以自定义编辑器的样式和功能,如添加图片上传、视频插入等功能,以满足不同项目的需求。 在实际开发中,了解并熟练掌握这些步骤,将有助于你快速、高效地完成...

    struts2版kindeditor

    在Struts2框架下集成KindEditor,可以方便地实现文本编辑、图片上传、资源浏览等功能,极大地提升用户体验。 **一、Struts2与KindEditor的结合** 1. **集成目的**:Struts2框架通常用于处理服务器端逻辑,而...

    Myeclipse struts2框架的文本在线编辑器kindeditor-4.1.9

    而KindEditor是一款功能强大的开源在线文本编辑器,适用于网页中创建富文本内容,支持图片上传、多图上传等功能,广泛应用于网站内容管理、博客系统等项目。 在MyEclipse中集成Struts2和KindEditor,首先需要确保已...

    struts2image kindeditor

    Struts2Image与KindEditor是两个在Web开发中常见的组件,它们主要用于提升用户交互体验和内容管理。在这里,我们将深入探讨这两个组件以及它们在实际应用中的结合。 **Struts2Image** Struts2Image通常指的是Struts...

    struts2+kinEditor整合

    2、复制struts需要的jar包和kindEditor必须jar包到lib下,因为它们的jar包邮重复,选择最新的就ok 3、如果需要后台java代码获取内容,可以在action中定义content属性,getContent就可以获取到 需要注意的是,这里的 ...

    KindEditor富文本框图片上传

    在实际应用中,KindEditor的图片上传可能会结合特定的后端框架,如PHP、ASP.NET、Java(Spring、Struts等)或者Node.js等。这里的"kindeditor.zip"应该是KindEditor的源码包,包含了所有必要的JavaScript和CSS文件,...

    struts2+kindEditor4.1.7

    editorId的属性最好是单个,不能形如bean.content,如果是这样的话,上传图片会出现问题 如果是从数据库获取内容,并在kindEditor里选中,在action中定义content属性,setContent(bean.getContent());这种方式 ...

    struts2+kindEditor图片上传问题

    只需把这个 upload_json.jsp 文件替换 原有的即可 轻松加愉快

    kindeditor文本编辑器案例(java版+struts2源代码)

    图片上传是KindEditor的一个核心特性,案例中提到上传图片绝对没问题,这表明该集成已经解决了文件上传的路径配置、权限设置和文件管理等问题。开发者可以通过源码学习如何实现安全、高效的图片上传功能。 6. **...

    java平台下kindeditor的文件上传

    "工具"标签暗示了KindEditor是一个辅助开发的工具,它可以与其他Java Web框架(如Spring、Struts等)集成,为开发者提供便捷的富文本编辑和文件上传功能。在实际项目中,我们可能需要根据项目的具体需求,对...

    自己实现的简单weike系统(ssh+kindEditor)

    这个项目是一个自建的简易威客(weike)平台,它采用SSH(Spring、Struts2、Hibernate)框架进行开发,并集成了KindEditor作为富文本编辑器。SSH框架是Java Web开发中常用的三大开源框架组合,它们各自负责不同的...

    kindeditor编辑器使用及压缩包

    此外,对于Java开发者来说,KindEditor可以与Spring MVC、Struts2等框架无缝集成。在后端,可以使用Java来处理编辑器提交的富文本内容,进行HTML过滤、格式转换等操作,以保证数据的安全性和一致性。 总之,...

    kindeditor示例

    这里的`uploadJson`和`fileManagerJson`属性是配置上传图片或文件的处理路径,你需要在Struts2中定义相应的Action来处理这些请求。 在Struts2 Action中,我们需要接收并处理来自KindEditor的POST请求,包括富文本...

    Uploadify + Struts2 实现文件上传详解

    【Uploadify + Struts2 实现文件上传详解】 在Web开发中,文件上传是一个常见的功能需求,尤其是在内容管理系统、论坛或者其他需要用户提交图片、文档等资料的场景。Uploadify是一款基于jQuery的文件上传插件,它...

Global site tag (gtag.js) - Google Analytics