jjaavvaaWWeebb实实现现文文件件上上传传与与下下载载

文件上传概述

实现web开发中的文件上传功能,需完成如下二步操作:

在web页面中添加上传输入项

在servlet 中读取上传文件的数据,并保存到本地硬盘中。

如何在web页面中添加上传输入项?

标签用于在web页面中添加文件上传输入项,设置文件上传输入项时须注意:

1、必须要设置input输入项的name属性,否则浏览器将不会发送上传文件的数据。

2、必须把form 的enctype属值设为multipart/form-data.设置该值后,浏览器在上传文件时,将把文件数据附带在http请求消息

体中,并使用M IME协议对上传的文件进行描述,以方便接收方对上传数据进行解析和处理。

文件上传概述

如何在 ervlet 中读取文件上传数据,并保存到本地硬盘中?

Request对象提供了一个getInput tream方法,通过这个方法可以读取到客户端提交过来的数据。但由于用户可能会同时上传多

个文件,在servlet端编程直接读取上传数据,并分别解析出相应的文件数据是一项非常麻烦的工作,示例。

为方便用户处理文件上传数据,Apache开源组织提供了一个用来处理表单文件上传的一个开源组件 ( Commons-

fileupload ),该组件性能优异,并且其API使用极其简单,可以让开发人员轻松实现web文件上传功能,因此在web开发中实

现文件上传功能,通常使用Commons-fileupload组件实现。

使用Commons-fileupload组件实现文件上传,需要导入该组件相应的支撑jar包:Commons-fileupload和commons-io 。commons-

io不属于文件上传组件的开发jar文件,但Commons-fileupload组件从1.1版本开始,它工作时需要commons-io包的支持。

fileupload组件工作流程

核心API—DiskFileItemFactory

DiskFileItemFactory 是创建 FileItem 对象的工厂,这个工厂类常用方法:

public void set izeThreshold(int sizeThreshold) :设置内存缓冲区的大小,默认值为10K 。当上传文件大于缓冲区大小时,

fileupload组件将使用临时文件缓存上传文件。

public void setRepository(java.io.File repository) :指定临时文件 目录,默认值为 ystem.getProperty("java.io.tmpdir").

public DiskFileItemFactory(int sizeThreshold, java.io.File repository) :构造函数

核心API— ervletFileUpload

ervletFileUpload 负责处理上传的文件数据,并将表单中每个输入项封装成一个 FileItem 对象中。常用方法有:

boolean isMultipartContent(Http ervletRequest request) :判断上传表单是否为multipart/form-data类型

List parseRequest(Http ervletRequest request) :解析request对象,并把表单中的每一个输入项包装成一个fileItem对象,并

返回一个保存了所有FileItem的list集合。

setFile izeMax(long file izeMax) :设置上传文件的最大值

set izeMax(long sizeMax) :设置上传文件总量的最大值

setHeaderEncoding(java.lang. tring encoding) :设置编码格式

setProgressListener(ProgressListener pListener)

1

文件上传案例

实现步骤

1、创建DiskFileItemFactory对象,设置缓冲区大小和临时文件 目录

2、使用DiskFileItemFactory对象创建 ervletFileUpload对象,并设置上传文件的大小限制。

3、调用 ervletFileU

java web pdf迅雷下载文件_javaWeb实现文件上传及下载.pdf相关推荐

  1. Linux命令scp用于远程文件的拷贝(上传和下载)

    3_Linux命令scp用于远程文件的拷贝(上传和下载) 文章目录 1.SCP简介 2.SCP使用 2.1.命令格式: 2.2.命令功能: 2.3.命令参数: 3.使用实例: 如何将本地文件通过终端上 ...

  2. java http 下载文件_JAVA通过HttpURLConnection 上传和下载文件的方法

    本文介绍了JAVA通过HttpURLConnection 上传和下载文件的方法,分享给大家,具体如下: HttpURLConnection文件上传 HttpURLConnection采用模拟浏览器上传 ...

  3. php将图片导入,php中图片文件的导入,上传与下载

    ---------------------------------------------图片的导入-------------------------------------------------- ...

  4. 大数据Linux命令之命令安装、文件编辑、软件上传与下载

    一.如何找命令 当我们输入一个系统中没有安装到的命令时,会抛出提示:command not found Linux 下,我们常使用 cd ,grep,vi 等命令,有时候我们要查到这些命令所在的位置, ...

  5. linux ftp匿名只能下载,解决linux ftp匿名上传、下载开机自启问题

    解决linux ftp匿名上传.下载开机自启问题 如果在平时学习,工作中经常使用 FTP 服务器 ,可以设置成开机自启,在设置之前要先了解几个关于自启的命令: 1.chkconfig 命令 主要作用: ...

  6. java 下载excel xlsx_JAVA Excel.xlsx 上传于下载

    1.文件下载 // 下载文件名 String systemDate = DateUtil.getDate(DateUtil.FORMAT_DATETIME); String fileName = &q ...

  7. 文件上传、下载、导出(图片上传、下载)

    一.文件上传 1.常规文件上传 input 标签 type="file", 点击接收上传的文件 <label for="file_url">< ...

  8. java里面的文件上传与下载

    java里面的文件上传与下载 文件的上传与下载主要用到两种方法: 1.方法一:commons-fileupload.jar commons-io.jar apache的commons-fileuplo ...

  9. java spring文件下载_SpringMVC实现文件上传和下载的工具类

    本文主要目的是记录自己基于SpringMVC实现的文件上传和下载的工具类的编写,代码经过测试可以直接运行在以后的项目中. 开发的主要思路是对上传和下载文件进行抽象,把上传和下载的核心功能抽取出来分装成 ...

  10. asp 调用java文件上传_用asp实现文件浏览、上传、下载的程序

    可以放在服务器上,对服务器上的文件进行浏览.上传.下载,可下载文件源码. 把下所有代码入在一个文件里即可,文件的后缀要为asp. thedir = request("thedir" ...

最新文章

  1. opencv 显示图片(直接)
  2. 每日Ubuntu小技巧:合上笔记本,系统不睡眠
  3. java实现遍历树形菜单方法——数据库表的创建
  4. 【Linux笔记】LED驱动程序
  5. php多线程是什么意思,多线程是什么意思
  6. 几何元素网页设计的力量,让人眼前一亮
  7. Centos服务器ssh登录设置密钥对登录
  8. linux spec cpu,SPEC CPU2006的安装和使用
  9. 树莓派做网络代理_树莓派使用Proxy代理
  10. Mac 配置远程服务器 - 免密登陆
  11. 组装服务器实训总结,计算机组装与维护实训总结
  12. spyder安装+使用中的问题
  13. android系统息屏设置_安卓实现熄屏功能。
  14. 区块数据存储文件说明
  15. buildroot学习(十)——at91sam9g45软件平台更新
  16. c语言a-gt;ave=0.0什么意思?,来位c语言的大神把,来把这个程序解释一遍吧!跪求啊...
  17. ubuntu 制作本地源 离线安装
  18. Excel 每N个取平均值
  19. CNN、Capsule详解
  20. Android-WIFI笔记整理(一)

热门文章

  1. 反思既往 也同时送给屌丝程序员一些小福利
  2. 高通骁龙410C开发板基础知识
  3. mysql 表 rowid_如何查一张表最大的ROWID
  4. web小作业——图书选购列表框
  5. Java实现数据加密与解密-Day03
  6. [Messy Note 1] 有关文本编辑语言及编码的一些概念
  7. 易语言之后,中文编程该何去何从?新式中文编程已经出现
  8. OSG官网——GettingStarted翻译
  9. i386 i586 i686 的意思
  10. 组件化设计思维 – 从规范到工具的构建与探索