文件的下载原理是什么?
来源传智教育2022年04月26日 16时02分30秒
对于文件下载,读者并不陌生,例如,在某网站下载图片、下载影片等。现在很多网站都提供了下载各类资源的功能,因此在学习Web开发过程中,有必要学习文件下载的实现方式。
由于实现文件下载功能比较简单,通常情况下,不使用第三方组件实现,而是直接使用Servlet类和输入/输出流实现即可。
可是,与访问服务器文件不同的是,要实现文件的下载,不仅需要指定文件的路径,还需要在HTTP中设置两个响应消息头,具体如下。
//设定接收程序处理数据的方式 Content-Disposition:attachment;filename= //设定实体内容的MIME类型 Content-Type:application/x-msdownload
浏览器通常会直接处理响应的实体内容。这时需要在HTTP响应消息中设置两个响应消息头字段,指定接收程序处理数据内容的方式为下载方式,当单击“下载”超链接时,系统将请求提交到对应的Servlet。在该Servlet中,首先获取下载文件的地址,并根据该地址创建文件字节输入流,再通过该流读取下载文件内容,最后将读取的内容通过输出流写到目标文件中。
最新问答
相关问答
- 2022年04月27日培训机构学java靠谱吗?
- 2022年04月26日setHeaderEncoding(String encoding)方法和getHeaderEncoding()方法继承什么类?
- 2022年04月26日谁能阐述一下void write(File file)方法的用途?
- 2022年04月26日DiskFileItemFactory类是用于请求什么的?
- 2022年04月26日String getString()方法有几个重载定义形式?
- 2022年04月26日String getName()方法和void delete()方法的区别是什么?
- 2022年04月26日什么是FileItem接口?
- 2022年04月25日valueBound()方法完整语法定义是怎么样的?
- 2022年04月25日HttpSessionActivationListener接口是什么?
- 2022年04月25日attributeReplaced()语法定义格式是怎么样的?