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. 文件上传、下载、导出(图片上传、下载)

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

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

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

  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. ora-01653表空间扩展失败产生的场景和处理方法
  2. 用 C 语言开发一门编程语言 — 跨平台的可移植性
  3. Silverlight入门系列]使用MVVM模式(1):MVVM核心概念
  4. shell中正则表达式详解_Linux中的正则表达式
  5. kali linux关闭进程,技术|如何使用 Kali Linux 黑掉 Windows
  6. linux cp 隐藏文件,如何用cp复制包含隐藏文件和隐藏目录及其内容?
  7. 小规模团队如何“微服务”管理
  8. c语言数码管按下k1显示1,单片机C语言程序的设计实训100例_基于8051+PROTEUS仿真1.docx...
  9. webview的使用
  10. 解决sns加载数据load_dataset()报错问题
  11. 推荐一个维基百科的中文镜像网站
  12. 金蝶EAS-BOS二开详细过程
  13. SPI - 相关类型及其扩展
  14. 小型企业办公耗材库存管理系统的设计与实现(一)
  15. Android studio录屏按钮不能用怎么办
  16. 【NodeJs-5天学习】第四天存储篇④ ——基于MQTT的环境温度检测,升级存储为mysql
  17. VMware Explore 大会解读:VMware 要做多云时代核心技术玩家
  18. 心电图心电轴怎么计算_心电轴度数计算表
  19. NE(Network Embedding)论文小览
  20. STM32F10x系列GPIO寄存器BRR、BSRR、ODR、IDR的使用理解

热门文章

  1. 概率论与数理统计期末复习题型集锦——第一章
  2. 安装Window Server 2008的些配置
  3. 变色龙哈希函数Chameleon Hash Functions
  4. HDU - 4466 Triangle
  5. Fedora14 Samba 配置
  6. 动力电池系统介绍(四)——电磁兼容介绍
  7. mall学习01-整合mybatis
  8. mall商城(PC端)
  9. python SM4加密
  10. 【自控原理】第三章 线性系统的时域分析法