有的时候,页面上的下载文件是从后台使用流的形式下载来的,而不是直接使用src,这样有很多好处,资源的路径是隐藏的了,不会再页面处就可以查看到资源。
原理:浏览器接收到后台传来的信息首先要解析的是:content-type,,然后处理数据。这里需要设置content-type为application/zip.浏览器接收到这个content-type就会认为它是一个二进制的压缩文件,就会在窗口提示下载,当然这个文件的content-type可以并不一定是zip压缩文件,可以是任何形式的文件,浏览器只解析服务器告诉它的content-type而不会去解析这个文件用来检查服务器是否欺骗它,它对服务器百分百信任,这也是由于http协议决定的,浏览器不可能接受完文件并解析出文件的content-type后再做出反应,它必须提前做出反应。
代码:
原理:浏览器接收到后台传来的信息首先要解析的是:content-type,,然后处理数据。这里需要设置content-type为application/zip.浏览器接收到这个content-type就会认为它是一个二进制的压缩文件,就会在窗口提示下载,当然这个文件的content-type可以并不一定是zip压缩文件,可以是任何形式的文件,浏览器只解析服务器告诉它的content-type而不会去解析这个文件用来检查服务器是否欺骗它,它对服务器百分百信任,这也是由于http协议决定的,浏览器不可能接受完文件并解析出文件的content-type后再做出反应,它必须提前做出反应。
代码:
response.setHeader("Content-disposition", "attachment;filename=test.zip"); URL url = new URL("e://file/test.zip"); BufferedInputStream inputStream = new BufferedInputStream(url.openStream()); BufferedOutputStream outputStream = new BufferedOutputStream(response.getOutputStream()); byte[] buff = new byte[2048]; int bytesRead; while (-1 != (bytesRead = (inputStream.read(buff,0,buff.length)))) { outputStream.write(buff,0,bytesRead); } if(inputStream != null){ inputStream.close(); } if(outputStream != null){ outputStream.close(); }
发表评论
-
java中线程池
2016-06-26 16:31 364最近在看线程池的类容,自己动手实现一个 package ... -
jvm常用设置
2015-09-08 22:48 382在我们实际工作中,可能会经常对JVM有一些设置,但是很多设置都 ... -
WebService相关
2015-07-26 21:55 969之前由于工作需要 ... -
java RMI
2015-07-23 23:04 441JAVA RMI相关 分布 ... -
java jdbc 连接池
2015-07-21 00:18 480经常使用hibernate,在使用hibernate的时候经常 ... -
java 网络传输文件
2015-06-01 21:14 432package sterning; import java. ... -
java MD5加密
2015-03-30 14:41 296MD5是常用的加密算法,也经常用于校验信息完整,如文件的完整性 ... -
java 并发容器
2014-12-18 23:19 354在多线程的开发 ... -
java设计模式 之 builder模式
2014-12-11 22:19 412最近在看java设计模式,看到builder模式感觉十分不错, ... -
网上见到一篇compareTo文章较好,收藏之
2014-12-04 21:04 5421、compareTo(Object o)方法是jav ... -
Hibernate 和 spring 整合使用
2014-10-14 21:28 751在hibernate和spring时总结的一些知识,以供将来查 ... -
hiernate 集中管理session
2014-10-13 21:55 482问题: 使用hibern ... -
java写入txt文件
2014-05-22 23:10 1092File file = new File("d: ... -
POI读取excel
2014-05-22 23:05 899读取excel大概在java中有两种方法,选用apache的P ... -
定时器 quartz 和 spring
2014-04-17 23:30 480最近学习了一个quartz 和spring 的定时调度 这个 ... -
java 基于Struts2的 文件上传和下载
2014-04-03 22:56 531文件上传: 页面代码: <form action=' ... -
java IO
2014-03-23 23:23 410import java.io.BufferedReader ... -
自己写的一个JDBC工具类
2014-03-11 20:00 1167在最近的一段时间写毕业设计,由于本科阶段的毕业设计不是特别大的 ... -
JAVA EE里的一些配置文件
2014-03-11 19:56 556这段时间在写毕业设计,用到了SSH三大框架的一些技术,但是自己 ... -
java汉字数字转换成阿拉伯数字
2014-02-20 17:14 6554今天做一个日期转换的时候发现有些时间是用大写汉字写成的,需 ...
相关推荐
JAVA_1.8.0压缩包,下载可直接安装 ,在环境变量里面直接进行配置
主要介绍了基于Java向zip压缩包追加文件,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
Java提取压缩包中的文件,文件操作的范畴,操作对象为ZIP格式的压缩文件,将从ZIP中提取出BMP图像文件,要将从压缩包中提取文件,必须先解压压缩包,然后将指定文件拷贝出来,代码中先实现了对zip文件的解压,然后...
使用Java远程上传压缩包到服务器,或者在服务器上拉去压缩包或者文件,在服务器上创建目录。
java压缩包jdk1.8,linux服务器上安装JAVA服务,解压即可使用!
java 打zip压缩包 解压缩包Eclipse项目20111011 java 打zip压缩包 解压缩包Eclipse项目20111011java 打zip压缩包 解压缩包Eclipse项目20111011
java核心资源压缩包
java1.8压缩包,包含jdk,jre等工具包。
java ZIP和RAR 压缩包 目录结构。 1.ant.jar 解决java自带zip不能读取中文压缩包的问题; 2.需要安装WINRAR软件,以便解压rar文件,然后获取对应目录; 3.实现在线预览压缩包目录结构的功能;
Java从压缩包中提取文件
java压缩包 直接解压使用就可以了 .....
该资源是一个包含多个Java面试相关文档的压缩包。这些文档涵盖了Java编程语言的各个方面,旨在帮助准备面试的人更好地理解和掌握Java开发知识。 在该压缩包中,您将找到以下类型的文档: 常见Java面试问题:这些...
Java从压缩包中提取文件源码整理
Java中递归逻辑循环调用解压zip里面所有的压缩包 Java中递归逻辑循环调用解压zip里面所有的压缩包
简单的从压缩包(Zip)中提取文件,并且将提取出的文件名出来。
这是我写的一个使用 java 读写压缩包的示例。
楼上兄弟太黑,特意找的源码,2分处理,完美解决Java加密解密zip文件
windows版本的Java8 jdk压缩包; 下载并安装JDK 1.8。你可以从Oracle官网下载JDK 1.8的安装程序。 打开“开始菜单”,右键点击“计算机”(或“My Computer”),选择“属性”。 点击“高级系统设置”。 在“高级...
java 加密解密压缩包zip代码-as3 验证之后的确可以用
java 压缩包,我分享下啦,我个人认为它很有用。