JavaWeb文件上传下载,使用fileupload组件

一、引入jar包

  1. commons-fileupload-1.2.1.jar

  2. commons-io-1.4.jar

二、文件上传

1. html代码

1 <form name="upload_test" action="${pageContext.request.contextPath}/FileServlet?method=upload" method="post" enctype="multipart/form-data">
2           用户名: <input type="text" name="userName" > <br>
3           文件: <input type="file" name="fileName" > <br>
4           <input type="submit" value="上传" >
5       </form>

2. java代码

 1     private void upload(HttpServletRequest request, HttpServletResponse response)
 2     throws ServletException, IOException {
 3         String uri = null;
 4         try {
 5             //文件上传工厂
 6             FileItemFactory factory = new DiskFileItemFactory();
 7             //文件上传核心工具类
 8             ServletFileUpload upload = new ServletFileUpload(factory);
 9             /******设置大小限制参数******/
10             // 单个文件大小限制
11             upload.setFileSizeMax(10*1024*1024);
12             // 总文件大小限制
13             upload.setSizeMax(50*1024*1024);
14             // 对中文文件编码处理
15             upload.setHeaderEncoding("UTF-8");
16             //判断: 当前表单是否为文件上传表单
17             if(upload.isMultipartContent(request)){
18                 //把请求数据转换为一个FileItem对象,再用集合封装
19                 List<FileItem> list = upload.parseRequest(request);
20                 // 遍历: 得到每一个上传的数据
21                 for (FileItem item : list) {
22                     // 判断类型(true:普通表单 || false:上传表单)
23                     if(item.isFormField()){
24                         //获取名称
25                         String name = item.getFieldName();
26                         //获取值
27                         String value = item.getString();
28                         //打印内容
29                         System.out.println("name: " + name + "\tvalue: " + value);
30                     } else {
31                         /*****上传表单*****/
32                         //获取文件名称
33                         String name = item.getName();
34                         // ----处理上传文件名重名问题----
35                         //获取一个36位的uuid字符串
36                         String id = UUID.randomUUID().toString();
37                         //拼接文件名
38                         name = id + "#" + name;
39                         //得到上传目录
40                         String basePath = getServletContext().getRealPath("upload");
41                         System.out.println("basePath: " + basePath);
42                         //创建要上传的文件对象
43                         File file = new File(basePath, name);
44                         //上传
45                         item.write(file);
46                         // 删除组件运行时产生的临时文件
47                         item.delete();
48                     }
49                 }
50             } else {
51                 System.out.println("不是上传表单");
52             }
53
54             uri = "/success.jsp";
55         } catch (FileUploadException e) {
56             e.printStackTrace();
57             uri = "/error/error.jsp";
58         } catch (Exception e) {
59             e.printStackTrace();
60             uri = "/error/error.jsp";
61         } finally {
62             request.getRequestDispatcher(uri).forward(request, response);
63         }
64     }

三、文件下载

------------------挖坑待填----------

时间: 2024-12-19 17:46:53

JavaWeb文件上传下载,使用fileupload组件的相关文章

JavaWeb 文件上传下载

1. 文件上传下载概述 1.1. 什么是文件上传下载 所谓文件上传下载就是将本地文件上传到服务器端,从服务器端下载文件到本地的过程.例如目前网站需要上传头像.上传下载图片或网盘等功能都是利用文件上传下载功能实现的. 文件上传下载实际上是两步操作,第一是文件上传,就是将本地文件上传到服务器端,实现文件多用户之间的共享,第二是文件下载,就是将服务器端的文件下载到本地磁盘. 1.2. 文件上传下载实现原理 首先,需要知道文件是如何实现上传及下载的.文件上传及下载实现原理如下: 文件上传实现流程如下:

java文件上传下载 使用SmartUpload组件实现

使用SmartUpload组件实现(下载jsmartcom_zh_CN.jar) 2017-11-07 1.在WebRoot创建以下文件夹,css存放样式文件(css文件直接拷贝进去),images存放图片(图片也拷贝进去),js存放js文件(拷贝),jsp存放我们的jsp文件 2.创建jsp文件 01.jsp 3.编写jsp 1 <%@ page language="java" import="java.util.*" pageEncoding="

JavaWeb实现文件上传下载功能实例解析

转:http://www.cnblogs.com/xdp-gacl/p/4200090.html JavaWeb实现文件上传下载功能实例解析 在Web应用系统开发中,文件上传和下载功能是非常常用的功能,今天来讲一下JavaWeb中的文件上传和下载功能的实现. 对于文件上传,浏览器在上传的过程中是将文件以流的形式提交到服务器端的,如果直接使用Servlet获取上传文件的输入流然后再解析里面的请求参数是比较麻烦,所以一般选择采用apache的开源工具common-fileupload这个文件上传组件

【Java】JavaWeb文件上传和下载

文件上传和下载在web应用中非常普遍,要在jsp环境中实现文件上传功能是非常容易的,因为网上有许多用java开发的文件上传组件,本文以commons-fileupload组件为例,为jsp应用添加文件上传功能.common-fileupload组件是apache的一个开源项目之一,可以从http://jakarta.apache.org/commons/fileupload/下载.用该组件可实现一次上传一个或多个文件,并可限制文件大小. 开发环境 创建一个javaweb项目,加入common-f

JavaWeb实现文件上传下载功能实例解析 (好用)

转: 转:http://www.cnblogs.com/xdp-gacl/p/4200090.html JavaWeb实现文件上传下载功能实例解析 在Web应用系统开发中,文件上传和下载功能是非常常用的功能,今天来讲一下JavaWeb中的文件上传和下载功能的实现. 对于文件上传,浏览器在上传的过程中是将文件以流的形式提交到服务器端的,如果直接使用Servlet获取上传文件的输入流然后再解析里面的请求参数是比较麻烦,所以一般选择采用apache的开源工具common-fileupload这个文件上

MVC文件上传-使用jQuery.FileUpload和Backload组件实现文件上传

本篇使用客户端jQuery-File-Upload插件和服务端Badkload组件实现多文件异步上传.MVC文件上传相关兄弟篇: 处理文件上传的服务端组件Backload 用于处理文件上传的服务端组件.Backload与客户端文件上传插件(比如jQuery-File-Upload)配合使用,初步形成一个处理文件异步上传的解决方案. □ Badkload的一些功能和特点 ● 零配置:Backload提供默认BackloadDemoController用来处理上传文件请求.如果其它控制器也想拥有"B

JSP文件上传下载组件(2)

实现文件下载 1.新建一个SmartUpload对象 SmartUpload su = new SmartUpload(); 2.初始化 su.initialize(pageContext); 3.设定contentDisposition为null,以禁止浏览器自动打开文件,保证单机链接后是下载文件,若不设定,浏览器会自动打开它 su.setContentDisposition(null); 4.下载文件su.download("xxx"); JSP文件上传下载组件(2)

JSP文件上传下载组件(1)

使用jspSmartUpload可以实现文件上传和下载 jspSmartUpload组件主要有4个类:File类,Files类,Request类和SmartUpload类 *SmartUpload类的initialize方法:这个方法是上传和下载共用的方法,他的作用是执行上传和下载的初始化工作,必须第一个执行.原型有多个,主要使用下面这个: public final void initialize(javax.serlvet.jsp.PageContext pageContext) 其中,pag

21、文件上传/下载

一.文件的上传和下载 要将客户端(浏览器)大数据存储到服务器端,不将数据直接存储到数据库中,而是要将数据存储到服务器所在的磁盘上(减少了数据库服务器的压力,对数据的操作更加灵活) 1.文件上传的原理 1.1 文件上传的必要前提: (1)提供form表单,method必须是post (2)form表单的enctype(编码类型)必须是 multipart/form-data (3)提供input type="file"类的上传输入域 ${pageContext.request.conte