1.下载相应的组件的最新版本
Commons FileUpload 可以在http://jakarta.apache.org/commons/fileupload/下载
附加的Commons IO 可以在http://jakarta.apache.org/commons/io/下载
2.将commons-fileupload-1.2.1.jar commons-io-1.4.jar拷贝到$TOMCAT\common\lib目录下
3.编写相应的代码如下
UploadExample.jsp
<%@ page contentType='text/html;charset=gb2312'%>
<html>
<title><%= application.getServerInfo() %></title>
<body>
上传文件程序应用示例
<form action='doUpload.jsp' method='post' enctype='multipart/form-data'>
<%-- 类型enctype用multipart/form-data,这样可以把文件中的数据作为流式数据上传,不管是什么文件类型,均可上传。--%>
请选择要上传的文件<input type='file' name='upfile' size='50'>
<input type='submit' value='提交'>
</form>
</body>
</html>
doUpload.jsp
<%@ page language="java" import="java.util.*,java.io.*" pageEncoding="GBK"%>
<%@ page import="org.apache.commons.fileupload.servlet.ServletFileUpload"%>
<%@ page import="org.apache.commons.fileupload.disk.DiskFileItemFactory"%>
<%@ page import="org.apache.commons.fileupload.*"%>
<% response.setContentType("text/html");
// 图片上传路径
String uploadPath =request.getSession().getServletContext().getRealPath("/")+"upload/images/";
// 图片临时上传路径
String tempPath = request.getSession().getServletContext().getRealPath("/")+"upload/images/temp/";
// 图片网络相对路径
String imagePath=request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+request.getContextPath()+"/";
// 文件夹不存在就自动创建:
if(!new File(uploadPath).isDirectory())
new File(uploadPath).mkdirs();
if(!new File(tempPath).isDirectory())
new File(tempPath).mkdirs();
try {
DiskFileUpload fu = new DiskFileUpload();
// 设置最大文件尺寸,这里是4MB
fu.setSizeMax(4194304);
// 设置缓冲区大小,这里是4kb
fu.setSizeThreshold(4096);
// 设置临时目录:
fu.setRepositoryPath(tempPath);
// 得到所有的文件:
List fileItems = fu.parseRequest(request);
Iterator i = fileItems.iterator();
// 依次处理每一个文件:
while(i.hasNext()) {
FileItem file = (FileItem)i.next();
// 获得文件名,这个文件名是用户上传时用户的绝对路径:
String sourcefileName = file.getName();
if(sourcefileName!=null&&(sourcefileName.endsWith(".jpg")||sourcefileName.endsWith(".gif"))) {
// 在这里可以记录用户和文件信息,生成上传后的文件名
String destinationfileName=null;
Random rd = new Random();
Calendar time = Calendar.getInstance();
if(sourcefileName.endsWith(".jpg")){
destinationfileName=String.valueOf(time.get(Calendar.YEAR))
+ String.valueOf(time.get(Calendar.MONTH))
+ String.valueOf(time.get(Calendar.DAY_OF_MONTH))
+ String.valueOf(time.get(Calendar.HOUR_OF_DAY))
+ String.valueOf(time.get(Calendar.MINUTE))
+ String.valueOf(time.get(Calendar.SECOND))
+ String.valueOf(rd.nextInt(100)) + ".jpg";
}else if(sourcefileName.endsWith(".gif")){
destinationfileName=String.valueOf(time.get(Calendar.YEAR))
+ String.valueOf(time.get(Calendar.MONTH))
+ String.valueOf(time.get(Calendar.DAY_OF_MONTH))
+ String.valueOf(time.get(Calendar.HOUR_OF_DAY))
+ String.valueOf(time.get(Calendar.MINUTE))
+ String.valueOf(time.get(Calendar.SECOND))
+ String.valueOf(rd.nextInt(100)) + ".gif";
}
File f1=new File(uploadPath+ destinationfileName);
file.write(f1);
out.print(sourcefileName+"成功上传!") ;
out.print("<img src="+imagePath+"upload/images/"+destinationfileName+">");
}else{
out.println("上传文件出错,只能上传 *.jpg , *.gif");
}
}
// 跳转到上传成功提示页面
}
catch(Exception e) {
// 可以跳转出错页面
}
out.flush();
out.close();
%>
相关推荐
综上所述,JSP上传图片并缩放裁切的程序涉及到前端表单提交、后端文件处理、图像操作和返回结果等多个环节。理解并熟练掌握这些技术,可以提升Web应用的用户体验和功能完整性。在实际项目中,还可以结合CSS和...
本教程将探讨如何利用JSP(JavaServer Pages)、Servlet和Java技术来实现在后台处理用户上传的图片。首先,我们需要理解这三种技术的基础概念。 JSP是Java的一种动态网页技术,它允许开发者在HTML页面中嵌入Java...
【个人博客jsp,邮箱登录+图片上传+评论+后台】是一个基于JSP、Servlet和MySQL数据库的项目,采用MVC(Model-View-Controller)设计模式进行开发,并使用layui框架来美化用户界面。这个项目主要涵盖了以下几个核心...
【描述】:这个DEMO是一个实现后台管理功能的应用,其中包括了管理员管理和图片上传两大核心模块。它运用了诸如Java数据库连接(JDBC)、Servlet、JSmart模板引擎和JavaServer Pages(JSP)等关键的技术栈,为开发者...
在这里,我们重点关注如何结合jsp页面、jQuery和Java后台来实现图片上传。 1. **图片上传基本流程** - 用户在前端页面选择图片并提交。 - 使用jQuery或其他JavaScript库(如Ajax)将文件数据发送到服务器。 - ...
【标题】"ajax+jsp上传程序加进度条.zip"是一个基于AJAX技术与JSP(JavaServer Pages)的文件上传程序,它包含了实现文件上传功能的详细源代码。该程序的特点在于提供了一个友好的用户体验,即在上传过程中显示...
总的来说,这个“带进度条的JSP文件上传程序”结合了JSP的服务器端处理能力和AJAX的前端交互特性,为大文件和多文件上传提供了友好的用户界面和可靠的后台处理机制,是Web开发中一个实用的参考案例。开发者可以通过...
"JSP文件上传 支持进度条显示"这个项目是针对JSP环境设计的一个AJAX Web上传程序,它允许用户上传大文件(如单个文件100M),并具有文件上传进度条的可视化功能。以下将详细解析这个项目的知识点: 1. **JSP(Java...
在Java服务器页面(JSP)开发中,上传、缩放和裁切...综上所述,JSP上传缩放裁切涉及前端与后端的协同工作,包括文件上传、图片处理、安全性和性能优化等多个方面。理解并掌握这些知识点对构建高效的Web应用至关重要。
【基于jsp+ssm的后台管理系统】是一种常见的企业级应用开发模式,主要针对Web应用程序,尤其是电子商务类的后台管理平台。在这个系统中,"jsp"指的是JavaServer Pages,"ssm"则是Spring、SpringMVC和MyBatis的缩写,...
综上所述,"文章管理系统v1.0后台程序-JSP源码"涵盖了Web开发的多个重要方面,从服务器端编程到数据库设计,再到前端展示和安全防护,都包含在内。理解并掌握这些知识点,对于提升Web开发能力,尤其是JSP应用开发...
【JSP上传下载模块(JSPFileUploadDownload)】是一个基于Java Servlet和JSP技术实现的Web应用,用于处理用户在网页上的文件上传和下载功能。这个模块通常包含一系列的JSP页面、Servlet以及必要的HTML、CSS和...
通过JSP页面,后台可以接收前端发送的数据,进行处理后再返回响应信息。 **数据库部分**,在本项目中使用了`goods.sql`文件,这很可能是数据库的初始脚本或者数据导入文件,用于初始化或更新网站的数据库结构。...
【标题】:“jsp图片收藏夹”是一个基于JavaServer Pages(JSP)技术开发的用于存储和管理图片的应用程序。这个项目结合了SQL Server数据库来存储和检索图片信息,为用户提供了一个在线图片收藏和分享的平台。 ...
在网页播放器的后台管理程序中,JSP可以用于处理视频文件的上传、存储、分类,以及用户权限的设定。管理员可以通过后台管理系统上传新的视频资源,设置不同用户的播放权限,或者进行播放列表的管理。 此外,为了...
### Ajax 上传图片知识点解析 ...理解并掌握这些基础概念和技术点,对于开发具有文件上传功能的应用程序是非常有帮助的。同时,在实际应用中还需要考虑更多的细节和异常情况处理,以确保系统的稳定性和安全性。
《JSP论文格式化系统——...综上所述,"JSP论文格式化系统——后台模块的设计与实现"项目是结合了理论与实践,涵盖了Web开发的多个关键领域,对于学习和理解JSP和Java技术,以及掌握后台模块设计和实现具有深远意义。
总的来说,"公司新年抽奖程序JSP"是一个集成了JSP、Java、数据库技术和前端优化的综合性项目,它充分体现了Java在Web开发中的灵活性和强大功能,为企业的活动组织提供了一种实用的解决方案。开发者可以根据具体需求...
【标题】"JSP上传系统 .rar" 涉及的主要技术是Java服务器页面(JSP)技术,用于构建Web应用程序中的动态网页。这个压缩包包含的是一个基于JSP的文件上传系统,允许用户通过Web界面上传文件到服务器。下面我们将深入...
JSP通过JavaServlet技术进行编译和执行,提供了与后端数据库交互的能力,非常适合构建Web应用程序。 2. **图像处理**:这个工具的核心功能是对图像进行裁剪操作,这涉及到图像处理的概念。在Web开发中,常见的图像...