jsp中简易版本的图片上传程序

简介:

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.具体调用代码如下:

3.1 上传页面代码:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
//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>

3.2 后台处理页面

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
<%@ 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();
%>

  本文转自二郎三郎博客园博客,原文链接:http://www.cnblogs.com/haore147/p/3617999.html,如需转载请自行联系原作者

 

相关文章
|
6月前
|
SQL 前端开发 Java
JSP软件产品管理系统myeclipse开发sql计算机程序web结构java编程网页源码
JSP软件产品管理系统是一套完善的毕业设计系统(servlet+dao+bean模式开发)MVC结构,对理解JSP java编程开发语言有帮助,系统具有完整的源代码和数据库,系统主要采用B/S模式开发
30 0
|
Java 应用服务中间件 程序员
无法在web.xml或使用此应用程序部署的jar文件中解析绝对uri:[http://java.sun.com/jsp/jstl/core]
无法在web.xml或使用此应用程序部署的jar文件中解析绝对uri:[http://java.sun.com/jsp/jstl/core]
1138 0
无法在web.xml或使用此应用程序部署的jar文件中解析绝对uri:[http://java.sun.com/jsp/jstl/core]
|
Java 应用服务中间件 数据格式
JSP脚本语法,第一个jsp程序案例,jsp页面脚本、指令、动作
JSP脚本语法,第一个jsp程序案例,jsp页面脚本、指令、动作
163 0
JSP脚本语法,第一个jsp程序案例,jsp页面脚本、指令、动作
|
关系型数据库 Linux 应用服务中间件
|
Web App开发 Java 应用服务中间件
《Servlet和JSP学习指南》一1.3 编写基础的Servlet应用程序
本节书摘来自华章出版社《Servlet和JSP学习指南》一书中的第1章,第1.3节,作者(加)Budi Kurniawan,更多章节内容可以访问云栖社区“华章计算机”公众号查看
1361 0
|
Web App开发 Java 应用服务中间件
MyEclipse2014配置Tomcat开发JavaWeb程序JSP以及Servlet
http://blog.csdn.net/21aspnet/article/details/21867241   1.安装准备 1).下载安装MyEclipse2014,这已经是最新版本。   2).
1303 0
|
Java 应用服务中间件
JSP上传图片程序
1.下载相应的组件的最新版本 Commons FileUpload 可以在http://jakarta.apache.org/commons/fileupload/下载 附加的Commons IO  可以在http://jakarta.
1015 0
|
22天前
|
Java
学校教师管理系统【JSP+Servlet+JavaBean】(Java课设)
学校教师管理系统【JSP+Servlet+JavaBean】(Java课设)
19 1