fileupload概述
- fileupload是由apache的commons组件提供的上传组件。它最主要的工作就是帮我们解析request.getInputStream()。
- 使用fileupload只需要2个jar包
commons-fileupload.jar,核心包;
commons-io.jar,依赖包。
fileupload的核心类有:
DiskFileItemFactory、ServletFileUpload、FileItem
解析原理
FileItem对象介绍
- FileItem对象对应一个表单项(表单字段)。可以是文件字段或普通字段
- boolean isFormField():判断当前表单字段是否为普通文本字段,如果返回false,说明是文件字段;
- String getFieldName():获取字段名称,例如:<input type=”text” name=”username”/>,返回的是username;
- String getString():获取字段的内容,如果是文件字段,那么获取的是文件内容,当然上传的文件必须是文本文件;
- String getName():获取文件字段的文件名称;(a.txt)
- String getContentType():获取上传的文件的MIME类型,例如:text/plain。
- int getSize():获取上传文件的大小;
- InputStream getInputStream():获取上传文件对应的输入流;
- void write(File):把上传的文件保存到指定文件中。
- delete():删除临时文件
使用fileupload实现文件上传代码
@WebServlet("/UploadServlet") |