下面是用于图片上传的JSP!源码我也上传了!
/**
* Author:QingLong
* Date:2010-05-18
* Version:1.0 Beta
*/
<%@ page pageEncoding="gbk"%>
<%@ page import="java.util.*,java.io.*" %>
<%@ page import="org.apache.commons.fileupload.FileItem" %>
<%@ page import="org.apache.commons.fileupload.FileUploadException" %>
<%@ page import="org.apache.commons.fileupload.disk.DiskFileItemFactory" %>
<%@ page import="org.apache.commons.fileupload.servlet.ServletFileUpload" %>
<%@ page import="java.util.concurrent.locks.*" %>
<%
String id = "";
String url = "";
String imgTitle = "";
String imgWidth = "";
String imgHeight = "";
String imgBorder = "";
String filePath = "";
String align = "";
// 初始化上传工厂对象
DiskFileItemFactory factory = new DiskFileItemFactory();
// 设置上传工厂对象限制
factory.setSizeThreshold(1024 * 1024 * 20);
factory.setRepository(new File(request.getSession(true).getServletContext().getRealPath("/")));
// 创建上传对象
ServletFileUpload upload = new ServletFileUpload(factory);
upload.setFileSizeMax(1024 * 1024 * 20);
List<FileItem> items = null;
try {
items = upload.parseRequest(request);
} catch (FileUploadException e) {
e.printStackTrace(System.out);
}
for (Iterator<FileItem> i = items.iterator(); i.hasNext();) {
FileItem item = i.next();
if (item.isFormField()) {
String name = item.getFieldName();
String value = item.getString("gbk");
if (name.equals("id")) {
id = value;
} else if (name.equals("imgTitle")) {
imgTitle = value;
} else if (name.equals("imgWidth")) {
imgWidth = value;
} else if (name.equals("imgHeight")) {
imgHeight = value;
} else if (name.equals("imgBorder")) {
imgBorder = value;
} else if (name.equals("align")) {
align = value;
} else if (name.equals("url")) {
filePath = value;
}
} else {
// 取得表单域名
String fieldName = item.getFieldName();
// 取得文件名
String fileName = item.getName();
// 取得文件类型
String contentType = item.getContentType();
final Lock lock = new ReentrantLock();
String newName = null;
lock.lock();
try {
//防止文件名冲突
newName = System.currentTimeMillis() + fileName.substring(fileName.lastIndexOf("."),fileName.length());
} catch (Exception e) {
e.printStackTrace(System.err);
} finally {
lock.unlock();
}
filePath = request.getScheme() + "://" + request.getServerName() + ":" + request.getServerPort() + request.getContextPath() + "/editor/" + "attached/" + newName;
FileOutputStream fos = new FileOutputStream(request.getSession().getServletContext().getRealPath("/")
+ "editor/" + "attached/" + newName);
if (item.isInMemory()) {
fos.write(item.get());
fos.close();
} else {
InputStream in = item.getInputStream();
byte[] buffer = new byte[1024];
int len;
while ((len = in.read(buffer)) > 0) {
fos.write(buffer, 0, len);
}
in.close();
fos.close();
}
}
}
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('" + id
+ "','" + filePath + "','" + imgTitle + "','" + imgWidth
+ "','" + imgHeight + "','" + imgBorder + "','" + align
+ "');</script>");
out.println("</body></html>");
%>
分享到:
相关推荐
标题 "基于kindeditor3.4的上传功能的JAVA实现" 指的是一个关于如何在Java后端实现KindEditor编辑器3.4版本中的文件上传功能的技术分享。KindEditor是一款开源的JavaScript富文本编辑器,它提供了丰富的API和功能,...
易语言使用kindeditor进行图片单个和图片批量上传示例,同时也是除了ASP、php、JSP和NET等之外的自制WEB服务器程序使用kindeditor的示例。E2EE、E4A、易语言、TCP服务器、火山编程、光速网络引擎、星光极速、利快云...
这是本人写的一个基于KindEditor-4.1.9的Java项目,采用Struts2框架,实现了KindEditor单张图片上传、批量图片上传,可以上传到image目录下的子目录中,可返回上一级目录,并实现了按名称、大小、类型排序的功能。...
在技术实现层面,"KindEditor"很可能采用了HTML5的File API来实现图片的本地预览和上传功能,同时结合了AJAX技术进行后台数据传输,以确保用户在上传大量图片时的流畅体验。为了优化上传速度和服务器存储空间,可能...
vue 使用kindeditor粘贴复制图片上传给自己服务器,单独图片上传,避免用户到处寻找,解决了用户粘贴复制截图时候,图片变成base64,上传给后台的时候长度过于长,所以在粘贴的时候就上传给服务器,最后以形式显示在富...
4. **返回结果**: 保存文件后,服务器需要返回一个响应告知KindEditor上传的结果。如果成功,可以返回文件的URL,以便编辑器在页面上显示;如果失败,则返回错误信息。 5. **安全考虑**: 上传功能必须考虑到安全性...
KindEditor 4.1.11 是一个流行的开源富文本编辑器,专为网页内容编辑设计,支持多种功能,如图片上传、URL回显、图片预览等。在这个"完整图片上传 表单提交Demo"中,我们主要关注的是如何在Java环境下,特别是在...
5. **图片上传与管理**:内置图片上传功能,支持图片预览和管理,方便用户上传和组织图片资源。 6. **视频和音频嵌入**:允许用户直接在编辑器中插入视频和音频,支持多种媒体格式。 7. **代码高亮**:对于程序员或...
虽然官方的示例可能需要较多的修改才能适应你的项目,但这里我们提供了一个最小化的集成示例,其中包含了`jsp/demo.jsp`,这是一个可以直接运行的演示页面,可以帮助你快速理解如何在JSP中调用和使用KindEditor。...
在使用 KindEditor 进行文本编辑时,一个常见的需求是实现图片上传功能,以便用户能够方便地将本地图片插入到编辑的内容中。本篇文章将详细介绍如何为 KindEditor 实现图片上传功能。 首先,我们需要理解 ...
总的来说,实现KindEditor上传图片自动压缩过大的图片,需要结合服务器端脚本处理和合适的图像处理库。这个过程不仅可以提高网站性能,也可以帮助维护服务器资源,为用户提供更好的体验。记得在实现时考虑错误处理和...
### kindEditor4.1 版本中实现图片自适应的方法 #### 一、问题背景与需求分析 在使用kindEditor4.1版本时,我们可能会遇到一个常见的问题:上传的图片无法很好地适配不同大小的屏幕,导致在某些设备上出现拉伸或...
KindEditor内置了图片和文件上传插件,用户可以直接在编辑器内上传图片或文件,无需离开当前页面。上传过程通常包括选择文件、预览、上传和返回编辑器,这些步骤都是自动化的。上传后的资源可以被嵌入到编辑内容中...
本文将详细讲解如何在KindEditor中实现图片上传时携带token字段,以确保数据的安全性和完整性。 首先,理解“token”在Web开发中的作用至关重要。Token通常用于验证客户端请求的合法性,防止跨站请求伪造(Cross-...
在这个主题中,我们将深入探讨如何在KindEditor中实现分页功能以及图片上传的完整代码实现。 首先,让我们了解一下KindEditor的基本结构。KindEditor是用JavaScript编写的,支持多语言,提供丰富的API和插件,可以...
在“kindeditor上传视频、图片功能实现”中,我们将探讨如何利用KindEditor与Java后端配合,实现在网页上进行图片和视频的上传功能。 1. **KindEditor的图片上传功能**: KindEditor内建了图片上传的功能,用户...
KindEditor非常适合在CMS、商城、论坛、博客、Wiki、电子邮件等互联网应用上使用,2006年7月首次发布2.0以来,KindEditor依靠出色的用户体验和领先的技术不断扩大编辑器市场占有率,目前在国内已经成为最受欢迎的...
此示例源码中,服务器端部分可能包含一个Servlet或Controller,用于接收KindEditor上传的文件。文件会被临时保存在服务器的某个目录下,然后返回一个JSON响应。JSP和Servlet之间的交互通常使用HTTP请求,通过POST...
在"完整版KindEditor修正上传图片问题"这个主题中,我们将探讨如何解决KindEditor在处理图片上传时可能遇到的问题,以及如何配置和定制编辑器以适应不同的后台环境。 首先,KindEditor提供了一个`demo`文件夹,其中...
本文将详细介绍如何正确配置kindEditor实现多图上传功能,并着重讲解容易出错的地方——主要是路径配置以及确保系统给予控件上传图片的权限。 #### 二、环境准备 在开始配置之前,请确保已经安装并正确引入了以下...