看到Kindeditor3.1.2版本发布,于是编辑了一个编辑器图片上传的jsp版本,供大家参考使用。(可下载附件)
程序需要的commons-fileupload.jar可自行下载。
/**
* Author:sanghonggang
* Email:sanghonggang@gmail.com
* Version:1.0
*/
<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%>
<%@ page import="java.util.*,java.io.*" %>
<%@ page import="org.apache.commons.fileupload.*" %>
<%@ page import="org.apache.commons.fileupload.disk.*" %>
<%@ page import="org.apache.commons.fileupload.servlet.*" %>
<%
//错误信息
String errorMsg = "";
//图片设置信息
String id ="";
String imgTitle = "";
String imgWidth = "";
String imgHeight = "";
String imgBorder = "";
//文件最大值
long maxSize = 1000000;
//定义文件上传的类型
String[] types = new String[]{"gif", "jpg", "jpeg", "png", "bmp"};
//文件保存目录路径
String savePath = request.getSession().getServletContext().getRealPath("/")+"attached/";
//文件保存目录URL
String saveUrl = request.getContextPath()+"/attached/";
//判断是否为单个文件
boolean isMultipart = ServletFileUpload.isMultipartContent(request);
if(isMultipart){
FileItemFactory factory = new DiskFileItemFactory();
ServletFileUpload upload = new ServletFileUpload(factory);
List items = upload.parseRequest(request);
// Process the uploaded items
Iterator iter = items.iterator();
while (iter.hasNext()) {
FileItem item = (FileItem) iter.next();
//原文件名
String fileName = item.getName();
if(item.getFieldName().equals("id")){
id = item.getString();
}
if(item.getFieldName().equals("imgTitle")){
imgTitle = item.getString();
}
if(item.getFieldName().equals("imgWidth")){
imgWidth = item.getString();
}
if(item.getFieldName().equals("imgHeight")){
imgHeight = item.getString();
}
if(item.getFieldName().equals("imgBorder")){
imgBorder = item.getString();
}
//文件大小
long fileSize = item.getSize();
if (!item.isFormField()) {
//检查文件名
if(item.getName()==""||item.getString()==null){
errorMsg = "请选择文件。";
break;
}
//检查目录
File uploadDir = new File(savePath);
if(!uploadDir.isDirectory()){
errorMsg = "上传目录不存在。";
break;
}
//检查目录写权限
if(!uploadDir.canWrite()){
errorMsg = "上传目录没有写权限。";
break;
}
//检查文件大小
if(item.getSize()>maxSize){
errorMsg = "上传文件大小超过限制。";
}
//获得文件扩展名
String fileExt = fileName.substring(fileName.indexOf(".")+1);
if(!Arrays.<String>asList(types).contains(fileExt.toLowerCase())){
errorMsg = "上传文件扩展名是不允许的扩展名。";
}
//服务器上临时文件名
String tempName = new Date().getTime()+"."+fileExt;
//检查是否已上传
File file = new File(savePath+"\\"+tempName);
if(file.exists()){
errorMsg = "临时文件可能不是上传文件。";
}
//上传文件
try{
File uploadedFile = new File(savePath,tempName);
item.write(uploadedFile);
}catch(Exception e){
errorMsg = "上传文件失败。";
}
saveUrl = saveUrl + tempName;
}
}
if(errorMsg.equals("")){
//插入图片,关闭层
out.println("<html>");
out.println("<head>");
out.println("<title>Insert Image</title>");
out.println("<meta http-equiv=\"content-type\" content=\"text/html; charset=utf-8\">");
out.println("</head>");
out.println("<body>");
out.println("<script type=\"text/javascript\">parent.KE.plugin[\"image\"].insert(\""+id+"\",\""+saveUrl+"\",\""+imgTitle+"\",\""+imgWidth+"\",\""+imgHeight+"\",\""+imgBorder+"\");</script>");
System.out.println("<script type=\"text/javascript\">parent.KE.plugin[\"image\"].insert(\""+id+"\",\""+saveUrl+"\",\""+imgTitle+"\",\""+imgWidth+"\",\""+imgHeight+"\",\""+imgBorder+"\");</script>");
out.println("</body>");
out.println("</html>");
}else{
out.println("<html>");
out.println("<head>");
out.println("<title>error</title>");
out.println("<meta http-equiv=\"content-type\" content=\"text/html; charset=utf-8\">");
out.println("</head>");
out.println("<body>");
out.println("<script type=\"text/javascript\">alert(\""+errorMsg+"\");history.back();</script>");
out.println("</body>");
out.println("</html>");
}
}
%>
更多内容请看Blog
分享到:
相关推荐
这是本人写的一个基于KindEditor-4.1.9的Java项目,采用Struts2框架,实现了KindEditor单张图片上传、批量图片上传,可以上传到image目录下的子目录中,可返回上一级目录,并实现了按名称、大小、类型排序的功能。...
在"完整版KindEditor修正上传图片问题"这个主题中,我们将探讨如何解决KindEditor在处理图片上传时可能遇到的问题,以及如何配置和定制编辑器以适应不同的后台环境。 首先,KindEditor提供了一个`demo`文件夹,其中...
该编辑器提供了多种功能,包括文字编辑、图片上传、链接插入等,其中视频上传是其一大特色。本文将深入探讨KindEditor在jsp环境下的视频上传功能及其配置。 首先,视频上传功能允许用户在编辑器中直接嵌入视频,...
KindEditor是一款开源的JavaScript富文本编辑器,它支持多种浏览器,提供了丰富的编辑功能,如文字格式化、图片上传、链接插入等。KindEditor的一大亮点是其易于集成和自定义,开发者可以根据需求调整编辑器的外观和...
2.将图片上传与管理的JSP页面改写成SERVLET,同时去除JSON包; 3.添加图片压缩功能,对超出的宽高压缩成指定的值; 4.添加上传附件功能; 5.添加图片、附件按日期文件夹分类管理的功能; 6.添加上传图片、附件的...
在这个版本中,可能对这个文件进行了优化,以解决图片上传和视频支持的问题,同时也可能对性能进行了提升,减少了内存占用和提高了运行速度。 `themes` 文件夹存储了编辑器的主题样式,允许用户根据自己的需求选择...
KindEditor是一款流行的开源富文本编辑器,它提供了丰富的API和多样的功能,使得用户在网页上可以方便地进行文字编辑、图片上传、链接添加等操作。而JSP(JavaServer Pages)是Java平台上的一种动态网页技术,用于...
通过以上步骤,你应该能够成功地在JSP项目中集成KindEditor编辑器,并解决图片上传和乱码问题。在实际操作中,可能还需要根据具体环境和需求进行调整,但这个指南提供了一个基本的框架。记得在开发过程中保持良好的...
这里,`width`和`height`定义了编辑器的尺寸,`uploadJson`和`fileManagerJson`配置了图片上传和文件管理的后台接口,需要你根据实际项目实现。 3. **后端处理**:当用户提交编辑器中的内容时,需要在JSP的后端...
在本文中,我们将深入探讨如何在项目中实现KindEditor图片上传功能。KindEditor是一款开源的富文本编辑器,它提供了丰富的API和插件,使得用户能够方便地在网页上编辑和上传图片等多媒体内容。 首先,我们需要从...
### jsp版KindEditor附件上传组件详解 #### 一、概述 在当今互联网技术日新月异的时代,富文本编辑器成为了网站开发中不可或缺的一部分。其中,KindEditor是一款功能强大且易于使用的富文本编辑器,它支持多种...
- **插件丰富**:内置了如图片上传、文件管理、视频插入等多种插件,可以根据需求扩展更多功能。 - **API强大**:提供丰富的API接口,方便开发者进行自定义功能开发和事件监听。 - **易用性**:用户界面直观,...
3. `php/upload.php`(或根据服务器环境的其他语言版本,如`asp`, `jsp`, `asp.net`等) - 这是处理图片上传的服务器端脚本,通常负责接收图片,保存到服务器,并返回保存成功的消息。 要解决图片删除问题,我们...
KindEditor是一款广泛使用的开源在线文本编辑器,它提供了丰富的富文本编辑功能,如文本格式化、图片上传、视频插入等。然而,原版的KindEditor并不包含本地上传Flash的功能,这意味着用户无法直接在编辑器中上传并...
KindEditor支持图片、文件等上传功能。在配置编辑器时,需要设置`fileManagerJson`参数,指向服务器端处理文件上传的URL。这个URL应返回一个JSON格式的响应,包含上传文件的信息,如文件路径、名称等。 4. **...
易语言使用kindeditor进行图片单个和图片批量上传示例,同时也是除了ASP、php、JSP和NET等之外的自制WEB服务器程序使用kindeditor的示例。E2EE、E4A、易语言、TCP服务器、火山编程、光速网络引擎、星光极速、利快云...
在"KindEditor+jsp"的场景下,开发者通常会创建一个JSP页面,将KindEditor嵌入其中,以实现用户可以在网页上进行文字编辑、格式调整、图片上传等操作。在处理表单提交时,需要注意的一个关键点是,由于KindEditor是...
KindEditor支持图片、文件的上传。你需要在服务器端设置一个处理文件上传的Servlet或Controller,处理上传请求。上传文件的路径需与`uploadJson`配置项指定的URL相对应。注意,你需要处理文件的保存、权限控制、...
-- 图片上传的SERVLET --> <servlet-name>UploadImage <servlet-class>com.elkan.kindeditor.upload.UploadImage</servlet-class> <!-- 上传图片保存的目录 --> <param-name>UPLOAD_PATH <param-value>...
KindEditor支持图片上传和文件管理功能。在配置中指定`uploadJson`和`fileManagerJson`,分别指向处理图片上传和文件管理的服务器端接口。在服务器端,你需要编写对应的Servlet或Controller来接收请求,处理文件的...