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

KindEditor图片上传相关问题

阅读更多

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

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

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

action="/imageUpload"

并且在

<input type="hidden" id="editorId" name="id" value="" />

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

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

<action name="imageUpload" class="com.bjqxwh.manage.web.KindEditorImageUploadAction">
			<result name="success">/editor/imageUploadSuccess.jsp</result>
			<result name="error">/editor/imageUploadError.jsp</result>
</action>
 

具体代码如下:

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中自动转换为了相对地址。这就给编辑带来的不便,在编辑时编辑器中显示不出图片,问题就处在地址上,所以干脆将地址直接转换为相对地址来解决这个问题。

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

<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"%>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>Insert image</title>
</head>
<body>
<script language="javascript" type="text/javascript">
parent.KE.plugin["image"].insert("${id}","${saveUrl}","${imgTitle}","${imgWidth}","${imgHeight}","${imgBorder}");
</script>
</body>
</html>
分享到:
评论
7 楼 shelltea 2010-05-13  
wjc_3306 写道
您好 我按您的改了以后还是js报错
网页错误详细信息

消息: 例外被抛出且未被接住
行: 1152
字符: 3
代码: 0
URI: http://localhost:8080/laboa/js/procedure/kindeditor.js


拜求解答


真不好意思,这篇blog一年前写的。很多东西都忘了。而且最近也没用使用kindeditor。我看了你这个错误,我也不清楚什么问题,抱歉
6 楼 wjc_3306 2010-05-10  
您好 我按您的改了以后还是js报错
网页错误详细信息

消息: 例外被抛出且未被接住
行: 1152
字符: 3
代码: 0
URI: http://localhost:8080/laboa/js/procedure/kindeditor.js


拜求解答

5 楼 wjc_3306 2010-05-09  
啊 对不起 没看到下面还有个下载 。。。
4 楼 wjc_3306 2010-05-09  
:oops: 为什么现在的牛人都喜欢代码贴一半。。真叫人痛苦啊!!!!
3 楼 aprilsuny 2009-09-22  
imgFile,imgFileFileName
不知道为什么,它们都是为空,所以出错,进行不下去了~~
2 楼 treblesoftware 2009-09-16  
兄弟,上传写的太简单了。如果上传文件名同名怎么办?
1 楼 lsanmu 2009-06-07  
提供一下uploadservice的代码,不胜感激

相关推荐

    kindeditor图片上传携带token字段

    1. **配置KindEditor**:首先,你需要在初始化KindEditor时,配置图片上传的相关选项。例如,设置上传URL为包含token验证的接口,并开启自定义上传处理方式: ```javascript var editor = KindEditor.create('#...

    kindEditor+图片批量上传

    "KindEditor图片批量上传工具"是一款专为网页设计者和内容创作者打造的高效图片上传解决方案。这款工具允许用户在Web界面一次性上传多张图片,极大地提升了工作效率,特别是对于那些需要频繁处理文字和图像,比如...

    完整版kindeditor修正上传图片问题

    在"完整版KindEditor修正上传图片问题"这个主题中,我们将探讨如何解决KindEditor在处理图片上传时可能遇到的问题,以及如何配置和定制编辑器以适应不同的后台环境。 首先,KindEditor提供了一个`demo`文件夹,其中...

    kindeditor上传图片自动压缩过大的图片

    首先,我们需要了解KindEditor的图片上传流程。当用户在编辑器中选择图片并提交上传时,KindEditor会调用预设的上传处理程序,通常是通过一个服务器端脚本,如`upload_json.ashx`。这个脚本负责接收图片数据,验证,...

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

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

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

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

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

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

    vue 使用kindeditor粘贴复制图片上传给自己服务器,单独图片上传

    vue 使用kindeditor粘贴复制图片上传给自己服务器,单独图片上传,避免用户到处寻找,解决了用户粘贴复制截图时候,图片变成base64,上传给后台的时候长度过于长,所以在粘贴的时候就上传给服务器,最后以形式显示在富...

    kindeditor上传图片Demo

    1. KindEditor的API使用:如何初始化编辑器,如何设置图片上传的相关参数。 2. AJAX请求与响应处理:理解前后端数据交换的过程。 3. C#服务器端处理文件上传:涉及IIS设置、MVC控制器或WebAPI接口编写。 4. 安全策略...

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

    KindEditor提供了一套回调机制,可以在图片上传成功后执行自定义函数。在这个函数中,你可以解析服务器返回的数据,创建代表每个图片的HTML元素,并将其插入到编辑器的适当位置。服务器返回的数据通常包括图片的URL...

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

    在kindEditor中,处理图片上传及显示的核心逻辑主要集中在`plugins/image/image.js`文件中。其中有一个重要的函数`self.plugin.imageDialog`,用于处理图片上传后的操作。关键代码段如下: ```javascript self....

    KindEditor3.5.1 asp.net 图片上传例子

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

    kindeditor编辑器,可上传多图片,文件上传等功能

    它支持多图片上传、文件上传等丰富的功能,广泛应用于个人项目和公司项目。在ASP.NET环境中,KindEditor能很好地集成到Web应用中,提供一个美观且易用的文本编辑界面。 1. **KindEditor的基本介绍** KindEditor是...

    kindeditor-4.1.11多图上传按钮无法出现且无法点击flash无法上传

    在提供的压缩包文件中,可能包含了修复这个问题所需的部分资源,如`kindeditor.js`是编辑器的核心文件,`lang`目录下有各种语言的配置文件,`plugins`包含了各种插件,`up_newfile_lj`可能是上传相关的脚本或配置,...

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

    对于上传本地视频,处理方式类似图片上传,只不过需要考虑视频文件的格式和大小限制。 “添加手机尺寸预览”意味着在编辑器中,用户可以看到内容在不同移动设备屏幕尺寸下的效果。这可能通过CSS媒体查询实现,根据...

    .net kindEditor 图片上传实例

    总结来说,.NET KindEditor图片上传实例涉及了编辑器的部署、初始化、上传处理程序的创建以及安全性考虑。通过这个实例,你可以了解到如何在.NET环境中集成KindEditor并实现图片上传功能,为用户提供方便的内容编辑...

    kindeditor多图上传H5版

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

    为 KindEditor 实现图片上传

    在 KindEditor 初始化时,我们需要设置图片上传的相关配置。这包括上传的URL、允许的文件类型、文件大小限制等。例如: ```javascript KindEditor.create('#editor', { uploadJson: '/upload/image', // 服务器...

    kindeditor图片上传

    本文将详细讲解KindEditor图片上传的相关知识点。 1. **KindEditor的基本结构** KindEditor由JavaScript编写,支持多种浏览器环境,包括IE、Firefox、Chrome、Safari和Opera等。其核心包括编辑器界面、插件系统、...

Global site tag (gtag.js) - Google Analytics