在web APP应用程序中,大部分文件的上载都是以表单形式提交给服务器的,因此要以编程方式实现文件的上载功能,必须首先创建一个表单页面来提交上载的文件。 要允许servlet检索上载文件中的数据,请将表单页面的method属性设置为post模式,将enctype属性设置为multipart/form-data类型,并将其他文件的input标签类型设置为示例如下所示。
%--指定表单数据的enctype属性和发送方法--%
form enctype=' multipart/form -数据方法=' post '
%--指定标签类型和普通表单的名称----%
用户名:输入类型='文本'名称='名称'/BR /
%--指定标签类型和文件字段的名称----%
选择文件上传: input type=' file ' name=' my file '/br /浏览器通过表单发送上传文件时,文件数据全部附加在HTTP请求消息主体上,并显示为因此,浏览器发送到服务器的HTTP消息具有以下特殊性质:
多媒体/表单-数据; 边界-----------7dfa7a 30650
------------7 dfa7a 30650
内容位置:表格数据; 名称='名称'
国际航空运输协会
------------7 dfa7a 30650
内容位置:表格数据; 名称='我的文件'; 文件名=' uploadfile.txt '
内容类型:文本/平面
www.itcast.cn
----------------7 DFA 7a 30650------ -从上面的表格要求正文可以看出,要求正文分为多个部分,分析这一部分的内容比较麻烦。 因此,Apache组织提供了开源组件公共文件上载。 该组件可以方便地分析“multipart/form-data”类型的请求的各种表单域,并可以上载一个或多个文件。 另外,还可以限制上传文件的大小等内容,性能优异,使用起来非常简单。 请注意,在使用文件加载组件时,需要导入两个jar包:公共文件加载和公共io。
为了更好地了解FileUpload组件如何实现文件上载功能,接下来,我们打开FileUpload组件的帮助文档,查看其实现方法,如图6-1所示。
图1文件上载类的源代码
由图1可知,FileUpload组件也用servlet实现了文件上传功能。 其工作流程如图2所示。
图2使用文件上载组件上载文件的工作流
从图2中可以看到,要实现文件上载,将涉及几个陌生的类,这些类是Apache组件上载文件的核心类。 有关这些核心类的知识将在下一节中详细介绍。
课程建议:
JavaWeb教程|JavaWeb在线图书中心完整项目
Maven教程_Maven视频教程|黑马程序员
深入学习Springboot实践技术教程