2020-03-31

(一)文件下载的概述一、什么是文件下载    文件下载:将服务器上的一个文件,通过流写入到客户端上二、为什么学习文件下载    很多应用包含有文件下载的功能        音乐的下载        应用的下载三、文件下载的方式1、使用超链接的方式实现文件的下载 在超链接 注意:超链接的方式,如果浏览器不能识别这种格式的文件,会提示下载,如果支持该格式的文件,会直接打开(例如压缩文件它不支持,也打不开,就会让你下载,如果是一张图片的话,浏览器是支持的,就会直接在页面上显示了)2、通过手动编写代码的方式实现文件的下载 设置两个头和一个流 Content-Type:文件的MIME类型 Content-Disposition:浏览器支持该格式的文件时,不直接打开,也提示下载 设置代表该文件的输入流,(因为输出流是固定的,它是由Response去生成的,就是response.getOutputStream())(二)超链接方式实现文件下载一、代码实现二、局限性如果浏览器支持这个格式的文件就会直接打开,如果不支持这个格式的文件才会提示下载(三)手动编码的方式实现文件下载一、文件下载的页面(四)中文文件的下载一、中文文件的下载会出现乱码问题1、不同的浏览器对中文文件的下载,采用的编码是不一样的 IE浏览器采用的是URL编码 Firefox浏览器采用的是Base64编码2、判断客户端使用的浏览器的类型 User-Agent请求头可以获得客户端浏览器信息二、代码实现(五)给定目录下的文件下载一、案例需求描述    给定一个目录(这个目录可以是任意盘符下的任意路径,这个路径下有多少级目录、每级目录中有多少个文件都是未知的),将这个路径中的文件显示到页面上,在页面上给每个文件都提供一个响应下载的链接,当点击这个链接的时候,对该文件进行下载二、案例分析1、分析过程——树形结构的遍历 (1)树: 有且仅有一个根节点 在根节点下可以有任意个子节点 没有子节点的节点称为叶子节点(2)树形结构的遍历 广度优先遍历1 2 3 4 5 6 7 8 9 10 广度递归 广度非递归 深度优先遍历1 2 5 10 6 3 7 4 8 9 深度递归 深度非递归2、队列:FIFO(先进先出)    创建一个队列    先将根节点入队    将根节点出队,遍历根节点下的所有子节点,

©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • (一)文件下载的概述 一、什么是文件下载 文件下载:将服务器上的一个文件,通过流写入到客户端上 二、为什么学习...
    小汤源O阅读 2,166评论 0 0
  • 1. Nginx负载均衡配置实战 1.1 Nginx负载均衡反向代理相关实践 1.1.1 实现为WWW服务代理 (...
    阿丧小威阅读 3,093评论 0 0
  • 作业: 文件上传 (一)文件上传的概述 一、什么是文件上传文件上传:将本地的文件通过流写入到服务器的过程 二、为什...
    常樂_b00d阅读 1,247评论 0 0
  • 文件上传 (一)文件上传的概述 一、什么是文件上传文件上传:将本地的文件通过流写入到服务器的过程 二、为什么要学习...
    H_5a8d阅读 3,638评论 0 0
  • 哈喽,哈喽 本文首发于公众号:十三爱学习。 受到一位粉丝需要帮忙下载道客巴巴文档的启发 今天想跟大家分享一下百度文...
    十三爱学习阅读 3,775评论 0 1

友情链接更多精彩内容