`
baalwolf
  • 浏览: 350647 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

KindEditor 中上传本地图片的方法

阅读更多

从众多的Web编辑器中选择KindEditor ,主要是看重它的小巧。一个JS文件、两个CSS文件和一个GIF图片就是它的全部。所以在页面上的加载速度很快,而且功能也相对齐全。

目前KindEditor自带的图片上传组件仅仅是对PHP的支持,但是我的项目用到了Struts2,所以图片上传这一块还需要自己来写。

首先,修改plugins目录下的image.html文件,将form的action改为:

Html代码 复制代码
  1. action="/imageUpload"  
action="/imageUpload"

并且在

Html代码 复制代码
  1. <input type="hidden" id="editorId" name="id" value="" />  
<input type="hidden" id="editorId" name="id" value="" />

 中的value属性设置为你页面上编辑器的id。

 这个地址对应的是一个Action,在Struts2中的配置为:

Xml代码 复制代码
  1. <action name="imageUpload" class="com.bjqxwh.manage.web.KindEditorImageUploadAction">  
  2.             <result name="success">/editor/imageUploadSuccess.jsp</result>  
  3.             <result name="error">/editor/imageUploadError.jsp</result>  
  4. </action>  
<action name="imageUpload" class="com.bjqxwh.manage.web.KindEditorImageUploadAction">
			<result name="success">/editor/imageUploadSuccess.jsp</result>
			<result name="error">/editor/imageUploadError.jsp</result>
</action>

 

具体代码如下:

Java代码 复制代码
  1. package com.bjqxwh.manage.web;   
  2.   
  3. import java.io.File;   
  4.   
  5. import org.apache.struts2.ServletActionContext;   
  6.   
  7. import com.bjqxwh.manage.service.UploadService;   
  8. import com.opensymphony.xwork2.ActionSupport;   
  9.   
  10. /**  
  11.  * 处理从KindEditor编辑器中上传的图片  
  12.  *   
  13.  * @author shelltea  
  14.  *   
  15.  */  
  16. public class KindEditorImageUploadAction extends ActionSupport {   
  17.     private static final long serialVersionUID = 920697011722287589L;   
  18.     private String savePath = "/editor/upload";   
  19.     private File imgFile;   
  20.     private String imgFileContentType;   
  21.     private String imgFileFileName;   
  22.     private String id;   
  23.     private String imgTitle;   
  24.     private String imgWidth;   
  25.     private String imgHeight;   
  26.     private String imgBorder;   
  27.   
  28.     private String saveUrl;   
  29.           
  30.        // 省略Setter和Getter方法       
  31.      
  32.     @Override  
  33.     public String execute() throws Exception {   
  34.         saveUrl = UploadService.upload(imgFile, imgFileFileName, savePath,   
  35.                 ServletActionContext.getRequest());   
  36.                // 针对FireFox自动将绝对地址转换为相对地址的,将保持的URL改为相对地址   
  37.         String[] s = saveUrl.split("/");   
  38.         saveUrl = "/" + s[3] + "/" + s[4] + "/" + s[5];   
  39.         return SUCCESS;   
  40.     }   
  41. }  
package com.bjqxwh.manage.web;

import java.io.File;

import org.apache.struts2.ServletActionContext;

import com.bjqxwh.manage.service.UploadService;
import com.opensymphony.xwork2.ActionSupport;

/**
 * 处理从KindEditor编辑器中上传的图片
 * 
 * @author shelltea
 * 
 */
public class KindEditorImageUploadAction extends ActionSupport {
	private static final long serialVersionUID = 920697011722287589L;
	private String savePath = "/editor/upload";
	private File imgFile;
	private String imgFileContentType;
	private String imgFileFileName;
	private String id;
	private String imgTitle;
	private String imgWidth;
	private String imgHeight;
	private String imgBorder;

	private String saveUrl;
       
       // 省略Setter和Getter方法    
  
	@Override
	public String execute() throws Exception {
		saveUrl = UploadService.upload(imgFile, imgFileFileName, savePath,
				ServletActionContext.getRequest());
               // 针对FireFox自动将绝对地址转换为相对地址的,将保持的URL改为相对地址
		String[] s = saveUrl.split("/");
		saveUrl = "/" + s[3] + "/" + s[4] + "/" + s[5];
		return SUCCESS;
	}
}

 这段代码中的UploadService是我自己写的一个上传服务组件,通过调用upload方法上传文件,并返回在服务器上的绝对地址。但是直接返回的绝对地址在FireFox中自动转换为了相对地址。这就给编辑带来的不便,在编辑时编辑器中显示不出图片,问题就处在地址上,所以干脆将地址直接转换为相对地址来解决这个问题。

然后是写一个上传成功后的页面:

Html代码 复制代码
  1. <%@ page language="java" contentType="text/html; charset=UTF-8"  
  2.     pageEncoding="UTF-8"%>  
  3. <html>  
  4. <head>  
  5. <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">  
  6. <title>Insert image</title>  
  7. </head>  
  8. <body>  
  9. <script language="javascript" type="text/javascript">  
  10. parent.KE.plugin["image"].insert("${id}","${saveUrl}","${imgTitle}","${imgWidth}","${imgHeight}","${imgBorder}");   
  11. </script>  
  12. </body>  
  13. </html>  
分享到:
评论

相关推荐

    kindeditor文本编辑器实例(包含本地图片上传及浏览服务器方法)

    在这个实例中,我们重点关注的是如何在KindEditor中实现本地图片上传以及浏览服务器上的文件。 1. **本地图片上传** 本地图片上传是KindEditor的一个重要特性,它允许用户直接从他们的计算机上选择图片并上传到...

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

    在“kindeditor上传视频、图片功能实现”中,我们将探讨如何利用KindEditor与Java后端配合,实现在网页上进行图片和视频的上传功能。 1. **KindEditor的图片上传功能**: KindEditor内建了图片上传的功能,用户...

    kindEditor+图片批量上传

    在技术实现层面,"KindEditor"很可能采用了HTML5的File API来实现图片的本地预览和上传功能,同时结合了AJAX技术进行后台数据传输,以确保用户在上传大量图片时的流畅体验。为了优化上传速度和服务器存储空间,可能...

    kindEditor4.1版修改上传图片宽高(图片自适应)

    ### kindEditor4.1 版本中实现图片自适应的方法 #### 一、问题背景与需求分析 在使用kindEditor4.1版本时,我们可能会遇到一个常见的问题:上传的图片无法很好地适配不同大小的屏幕,导致在某些设备上出现拉伸或...

    优化kindeditor,修改flash批量上传图片方式为H5上传

    在描述中提到的“添加第三方视频代码功能”,这意味着需要扩展KindEditor使其支持插入外部视频链接或者上传本地视频。这通常涉及解析视频链接,生成合适的嵌入代码(如iframe或video标签),并将其插入到编辑器中。...

    kindeditor图片上传后生成带域名绝对路径配置及提交空格无法保存解决方法

    ### KindEditor 图片上传后生成带域名绝对路径配置方法 #### 一、KindEditor简介与配置背景 KindEditor是一款基于JavaScript的开源富文本编辑器,它具有轻量级且易于集成的特点,在许多Web项目中被广泛应用。对于...

    ASP在线编辑器 可本地上传图片 kindeditor

    用户可以直接在编辑器中选择本地图片并上传至服务器,简化了内容创建流程。这个功能对于需要频繁添加图片的网站来说非常实用。 3. **多语言支持**:KindEditor支持多种语言,包括中文,方便不同地区的用户使用。 4...

    kindeditor多图上传H5版

    在传统的KindEditor中,图片上传功能可能依赖于Flash技术,但在Flash逐渐被淘汰后,它需要更新以适应现代浏览器的需求。 2. **HTML5**:HTML5是HTML的最新版本,其一大特点是增强了对多媒体的支持,包括图像上传。...

    kindeditor添加本地上传flash功能

    然而,原版的KindEditor并不包含本地上传Flash的功能,这意味着用户无法直接在编辑器中上传并嵌入Flash对象。在标题提到的更新中,开发者已经为KindEditor添加了这个功能,使得用户可以方便地在编辑内容时添加Flash...

    kindeditor富文本,多图上传,去除flash插件,解决无法展示选择图片按钮问题,以及添加上传后结果展示

    HTML5提供了File API,可以用于读取和上传本地文件,特别是图片。通过监听编辑器的“选择文件”事件,我们可以使用File API读取用户选择的图片,然后使用FormData对象将其数据发送到服务器。在客户端,可以使用HTML5...

    KindEditor上传图片和管理图片

    在"KindEditor上传图片和管理图片"这个主题中,我们将探讨如何利用KindEditor实现图片的上传和管理,以及在实际应用中的一些考虑。 首先,让我们了解图片上传的基本过程。在KindEditor中,用户可以通过内置的图片...

    kindeditor--4.1.12 解决flash批量上传图片按钮不显示与支持video视频

    版本4.1.12解决了之前版本中Flash批量上传图片按钮不显示的问题,并且增加了对video视频的支持,使得编辑器更加完善和适应现代网页的需求。 在Flash批量上传图片功能上,KindEditor 4.1.12修复了按钮不显示的bug,...

    KindEditor 4.1.11 完整图片上传 表单提交Demo

    用户在编辑器中点击“插入图片”按钮后,可以选择本地图片进行上传。这个过程涉及到前端的文件选择和提交,以及后端的文件接收和存储。后端通常会使用MultipartFile接口(SpringBoot中的常见方式)来处理上传的文件...

    为 KindEditor 实现图片上传

    在使用 KindEditor 进行文本编辑时,一个常见的需求是实现图片上传功能,以便用户能够方便地将本地图片插入到编辑的内容中。本篇文章将详细介绍如何为 KindEditor 实现图片上传功能。 首先,我们需要理解 ...

    kindeditor(DotNet完善图片上传和附件上传)

    本文将深入探讨如何在ASP.NET项目中实现KindEditor的附件和图片本地上传功能。 首先,我们需要下载并解压"kindeditor_dotnet"压缩包。这个压缩包包含了KindEditor的ASP.NET版本,适用于.NET Framework的Web应用程序...

    kindeditor图片上传

    - KindEditor弹出文件选择对话框,用户选择本地图片。 - 图片文件被读取并以表单数据的形式发送到`uploadJson`指定的服务器端处理脚本。 - 服务器端脚本接收到文件,进行验证(如文件类型、大小等),然后保存到...

    KindEditor富文本框图片上传

    前端部分,KindEditor的图片上传功能通常会有一个按钮或一个简单的文件选择器,用户可以通过点击选择本地的图片文件进行上传。这个过程涉及到HTML5的File API,用于读取用户选取的文件。同时,为了提供良好的用户...

    Servlet 下 kindeditor使用!封装了servlet本地图片上传及源码说明!

    这个Servlet的主要任务是接收KindEditor上传的图片文件,保存到服务器的指定目录,并返回一个包含图片URL的JSON响应。以下是一个简单的Servlet示例: ```java import javax.servlet.http.HttpServletRequest; ...

    KindEditor3.5.1 asp.net 解决图片上传报错问题例子

    其中图片上传就是一个 所以就自己写了个Demo研究,现在总算没问题了 这个Demo希望对大家有帮助 另外需注意的是 上传文件夹(Upload)一定要在根目录 不然会报错: -- 行: 1103 ...

    php kindeditor 上传图片水印功能

    1. **KindEditor图片上传**:KindEditor提供了一套完整的图片上传解决方案,包括选择本地图片、上传到服务器、预览和插入到编辑器等步骤。在配置中,你需要设置上传图片的URL,PHP端接收到上传请求后,会处理上传的...

Global site tag (gtag.js) - Google Analytics