- 1、本文档共17页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
第10章文件的上传与下载
学习目的与要求本章重点介绍Servlet的HttpServletRequest对文件上传的支持。通过本章的学习,理解文件上传的原理,掌握文件上传与下载的步骤。《JavaWeb开发从入门到实战(第2版·微课视频版)》陈恒主编,清华大学出版社,2024
目录10.1基于Servlet的文件上传10.2文件的下载《JavaWeb开发从入门到实战(第2版·微课视频版)》陈恒主编,清华大学出版社,2024
10.1基于Servlet的文件上传Servlet3.0之前的版本不能对文件上传直接支持,需要使用第三方框架来实现,而且使用起来也不够简单。从Servlet3.0开始提供了文件上传功能,而且使用也非常简单。让Servlet支持文件上传,需要做两件事情:? 给Servlet添加@MultipartConfig注解。? 从HttpServletRequest对象中获取Part文件对象。《JavaWeb开发从入门到实战(第2版·微课视频版)》陈恒主编,清华大学出版社,2024
10.1.1文件上传的表单设置formaction=uploadmethod=postenctype=multipart/form-data inputtype=filename=headImagebr inputtype=submitvalue=上传/form不要忘记设置文件上传的表单属性enctype,并将它的值设置为multipart/form-data。同时,表单的提交方式设置为post。只有这种设置,浏览器才能将所选文件的二进制数据发送给服务器。《JavaWeb开发从入门到实战(第2版·微课视频版)》陈恒主编,清华大学出版社,2024
10.1.2@MultipartConfig注解@MultipartConfig注解主要是为了辅助Servlet中HttpServletRequest提供对上传文件的支持。该注解标注在Servlet上面,以表示该Servlet希望处理请求的MIME类型是multipart/form-data。即使没有使用@MultipartConfig注解设置属性,文件上传时也要把该注解加到Servlet的上面。属性名类型是否可选描述locationString是指定上传文件存放的目录。当指定了location后,在调用Part的write(StringfileName)方法把文件写入到磁盘的时候,文件名称可以不用带路径,但是如果fileName带了绝对路径,那将以fileName所带路径为准把文件写入磁盘。maxFileSizelong是指定上传文件的最大值,单位是字节。默认值为-1,表示没有限制。maxRequestSizelong是指定上传文件的个数,应用在多文件上传。默认值为-1,表示没有限制。《JavaWeb开发从入门到实战(第2版·微课视频版)》陈恒主编,清华大学出版社,2024
10.1.3Part接口每一个文件用一个jakarta.servlet.http.Part对象来表示。单个文件上传时,在Servlet中可以通过HttpServletRequest对象request调用方法getPart(Stringname)获得Part文件对象。其中,参数name为文件域的名称。例如:Partphoto=request.getPart(resPath);多文件上传时,在Servlet中可以通过HttpServletRequest对象request调用方法getParts()获得Part文件对象集合。例如:CollectionPartphotos=request.getParts();《JavaWeb开发从入门到实战(第2版·微课视频版)》陈恒主编,清华大学出版社,2024
10.1.3Part接口序号方法功能说明1voiddelete()删除任何相关的临时磁盘文件2StringgetContentType()获得客户端浏览器设置的文件数据项的MIME类型3StringgetHeader(Stringname)获得指定的part头的一个字符串。例如:getHeader(content-disposition)返回form-data;name=xxx;filename=xxx4InputStreamgetInputStream()获得一个输入流,通过这个输入流来读取文件的内容5StringgetName()获得表单文件域的名称6longgetSize()获得文件的大小7voidwrite(StringfileName)将文件上传到fileName指定
您可能关注的文档
- 《 Java Web开发从入门到实战(第2版·微课视频版)》---实验教学大纲.doc
- 《Java Web开发从入门到实战(第2版·微课视频版)》---教学大纲、授课计划.docx
- 《Java Web开发从入门到实战(第2版·微课视频版)》---教学大纲.docx
- 《Java Web开发从入门到实战(第2版·微课视频版)》---课程思政教案全套 陈恒 第1--14章 Web前端基础---Spring MVC框架基础.docx
- Java Web 开发从入门到实战 课件 第1章 Web前端基础.pptx
- Java Web 开发从入门到实战 课件 第2章 Java Web开发环境的构建.pptx
- Java Web 开发从入门到实战 课件 第3章 JSP语法.pptx
- Java Web 开发从入门到实战 课件 第4章 JSP内置对象.pptx
- Java Web 开发从入门到实战 课件 第5章 JSP与JavaBean.pptx
- Java Web 开发从入门到实战 课件 第6章 Java Servlet基础.pptx
最近下载
- 2021年中央民族工作会议全文.pdf VIP
- 危险货物基础知识及安全管理.pptx
- Unit3ReadingandThinkingLivinglegends课件-高中英语人教版必修第一册.pptx
- 寒假高二物理讲义.docx
- 国家开放大学电大考试成人学位英语必备词汇汇编《英语1》期末重点习题.doc
- 投标报价的管理技巧与策略方案.pptx
- 中国乙型肝炎病毒母婴传播防治指南(2024年版)解读.pptx
- 小学数学新人教版一年级上册第六单元《复习与关联》教案(2024秋).doc
- 佳能EOS-100d中文使用说明书(官方).pdf
- 2024年六年级上册道德与法治期中测试卷附参考答案ab卷.pdf
文档评论(0)