2020-03-30

一、什么是文件上传

    文件上传:将本地的文件通过流写入到服务器的过程

二、文件上传的技术

    JSPSmartUpload:应用在JSP上的文件上传和下载的组件

    FileUpload:应用在Java环境上的文件上传的功能

    Servlet3.0:提供了文件上传的功能

    Struts2:提供了文件上传的功能

三、文件上传的三个要素

    1、表单的提交的方式需要是POST(因为GET有大小限制)

    2、表单中需要有<input type="file">元素,还需要有name属性和值

    3、表单属性必须设置enctype="multipart/form-data"

四、文件上传的原理分析

五、DiskFileItemFactory:磁盘文件项工厂

构造方法:

DiskFileItemFactory()

DiskFileItemFactory(int sizeThreshold, File repository)

sizeThreshold:用来设置文件上传的缓冲区的大小,默认值为10KB

repository:用来设置文件上传过程中所产生的临时文件存放的路径

方法:

setRepository(File repository):设置缓冲区的大小

setSizeThreshold(int sizeThreshold):设置临时文件存放的路径

六、ServletFileUpload:核心解析类

构造方法

ServletFileUpload()

ServletFileUpload(FileItemFactory fileItemFactory)

方法

isMultipartContent(HttpServletRequest request)

是用来判断表单的enctype属性是否正确

parseRequest(HttpServletRequest request)

解析Request对象,返回一个List集合(每个部分的对象FileItem)

(long fileSizeMax)

用来设置单个文件的大小

setSizeMax(long sizeMax)

用来设置上传的文件的总大小

七、ileItem文件项

方法

isFormField()

判断表单项是普通项还是文件上传项,如果为true代表是普通项

普通项的方法

getFieldName()

用来获得普通项的名称

getString()

用来获取普通项的值

getString(String encoding)

用来获取普通项的值(可解决乱码问题)

文件上传项

getName()

获得上传文件的文件名的方法

getInputStream()

获得上传文件的文件内容的方法

getSize()

获得上传文件的文件大小

delete()

删除文件上传过程中的临时文件

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 文件上传 (一)文件上传的概述 一、什么是文件上传 文件上传:将本地的文件通过流写入到服务器的过程 二、为什么...
    小汤源O阅读 226评论 0 0
  • Hive 有四种表的类型 内部表(管理表)由Hive完全管理表和数据的生命周期。默认创建的表是内部表。删除表的时候...
    落落小方地发卡阅读 389评论 0 0
  • Spring Boot: Spring Doc生成OpenAPI3.0文档 1. 概述 公司正好最近在整理项目的文...
    陆理手记阅读 386评论 0 0
  • 作者:星期八病号/小圣齐天 细雨淅淅 霜华为期 我有佳佳 在北一方 疯疯癫癫 痴痴笑笑 取经路上 可愿随行 小圣齐...
    小圣齐天阅读 423评论 31 17
  • 我大神冯唐说了:你我相爱就是为民除害。 没有情人的情人节每年也没有过过,本来计划今年过节给自己买束花,让生活更有仪...
    豆儿生涯规划师阅读 126评论 0 1