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. 来自Facebook AI的多任务多模态的统一Transformer:向更通用的智能迈出了一步
  2. js中的一个方法怎么将数据主动传给另一个方法
  3. 华为交换机配置Telnet步骤
  4. apache camel_Apache Camel中的短重试与长重试
  5. SQL Server2012 安装方法
  6. Java快速提升_java快速复习 一 基础语法
  7. linux eclipse stm32,在ubuntu下利用eclipse搭建stm32开发环境和st-link调试
  8. Android日期控件如何兼容不同手机
  9. 上传图片到服务器不能马上响应,用post方式上传图片到服务器
  10. 记在windows上MySQL8.0安装过程中遇到的问题及解决方案
  11. php静态方法的问题,php 静态方法问题
  12. 2018美赛数学建模竞赛论文(隐私成本)
  13. VMware Workstation 14永久激活密钥
  14. matlab文件编辑器,matlab写出两种打开M文件编辑器的方法
  15. Javafx Scene Builder使用教程
  16. Source Insight 4.0安装破解及简单使用
  17. 2021物理化学实验2:分光光度法测溴酚蓝的电离平衡常数
  18. 个推解读 | 各厂商推送消息分类新规出台,APP开发者必看
  19. oracle 判断数字是否连续,oracle中 如何 判断 表中字段是否为 连续的数字,例如‘3333333333',‘44444444’...
  20. 常用计算机 启动bios,各种不同品牌的电脑开机如何进BIOS界面

热门文章

  1. 首届中国(北京)国际视听大会11月19日开幕
  2. Google Earth Engine 下载遥感影像——以Landsat 8数据为例
  3. 本科计算机在北京混得下去吗,在北京混下去必须经历的八个阶段
  4. 四川大学网络空间安全学院计算机专硕怎么样,四川大学网络空间安全考研难吗...
  5. E盘显示无法访问位置不可用的资料找回办法
  6. indexedDB的用法(增删改查,样样俱全)
  7. SAP 创建可选BOM的配置
  8. 雷军招人反被3句话问懵:当我在面试牛人的时候,牛人也在面试我
  9. Linux常用命令全集
  10. abb限位开关已打开drv1_ABB LS30P11D11-R 限位开关