有的时候,页面上的下载文件是从后台使用流的形式下载来的,而不是直接使用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 401最近在看线程池的类容,自己动手实现一个 package ... -
jvm常用设置
2015-09-08 22:48 423在我们实际工作中,可能会经常对JVM有一些设置,但是很多设置都 ... -
WebService相关
2015-07-26 21:55 1013之前由于工作需要 ... -
java RMI
2015-07-23 23:04 469JAVA RMI相关 分布 ... -
java jdbc 连接池
2015-07-21 00:18 519经常使用hibernate,在使用hibernate的时候经常 ... -
java 网络传输文件
2015-06-01 21:14 472package sterning; import java. ... -
java MD5加密
2015-03-30 14:41 335MD5是常用的加密算法,也经常用于校验信息完整,如文件的完整性 ... -
java 并发容器
2014-12-18 23:19 388在多线程的开发 ... -
java设计模式 之 builder模式
2014-12-11 22:19 449最近在看java设计模式,看到builder模式感觉十分不错, ... -
网上见到一篇compareTo文章较好,收藏之
2014-12-04 21:04 5811、compareTo(Object o)方法是jav ... -
Hibernate 和 spring 整合使用
2014-10-14 21:28 789在hibernate和spring时总结的一些知识,以供将来查 ... -
hiernate 集中管理session
2014-10-13 21:55 525问题: 使用hibern ... -
java写入txt文件
2014-05-22 23:10 1159File file = new File("d: ... -
POI读取excel
2014-05-22 23:05 946读取excel大概在java中有两种方法,选用apache的P ... -
定时器 quartz 和 spring
2014-04-17 23:30 522最近学习了一个quartz 和spring 的定时调度 这个 ... -
java 基于Struts2的 文件上传和下载
2014-04-03 22:56 567文件上传: 页面代码: <form action=' ... -
java IO
2014-03-23 23:23 447import java.io.BufferedReader ... -
自己写的一个JDBC工具类
2014-03-11 20:00 1202在最近的一段时间写毕业设计,由于本科阶段的毕业设计不是特别大的 ... -
JAVA EE里的一些配置文件
2014-03-11 19:56 604这段时间在写毕业设计,用到了SSH三大框架的一些技术,但是自己 ... -
java汉字数字转换成阿拉伯数字
2014-02-20 17:14 6606今天做一个日期转换的时候发现有些时间是用大写汉字写成的,需 ...
相关推荐
8. 源码学习价值:作为“经典”标签的源码,它可能是Java社区中流传的成熟代码示例,有助于初学者理解如何在实际项目中使用Java处理ZIP文件。通过阅读和分析这些源码,开发者可以加深对`java.util.zip`包的理解,...
这里提到的“zip的文件流传输压缩”是关于如何使用Java编程语言实现对文件或文件夹进行压缩,并通过流的方式进行传输。这种技术尤其适用于在网络上传输大量数据时,可以显著减少数据传输时间。 【描述】: 虽然...
在Java开发中,将文件传输到前端并允许用户下载是一个常见的需求。这个场景通常涉及到服务器端的文件处理、HTTP响应的构建以及前端的交互。在这个过程中,IO流扮演着关键角色,它允许程序高效地读取和写入数据。下面...
通过JavaCV,开发者可以在Java程序中进行音视频的编码、解码、转换、流传输等操作,极大地扩展了Java在多媒体处理上的能力。 JavaCV还支持OpenNI,这是一个用于自然人机交互的框架,主要应用于手势识别和3D感应器的...
本主题聚焦于"导出zip前后端完整方法",这涉及到后端生成zip文件、通过流传输到前端,以及前端如何下载和处理这些文件。下面我们将详细探讨这些关键知识点。 1. **压缩技术**: - **Zip格式**:Zip是广泛使用的...
UDP是一种无连接的、不可靠的传输层协议,常用于实时应用,如音频、视频流传输,因为它提供快速的数据发送,但不保证数据包的顺序或重传丢失的包。 描述中提到“C服务端和客户端收发信息”以及“Java服务端和客户端...
这些格式在不同场景下各有优势,例如,mp4适合网络流传输,avi则更适合本地播放,而wmv通常用于Windows平台的视频内容。通过FFmpeg,我们可以轻松地将一个格式的视频转换为另一种格式,以适应不同的设备和平台要求。...
6. **RTSP/RTP/RTCP协议**:实时流传输协议(RTSP)用于控制音视频流的播放,实时传输协议(RTP)负责数据传输,而实时传输控制协议(RTCP)则用于质量反馈和同步。 7. **WebRTC技术**:对于现代浏览器支持,可以...
Red5是一款开源的Java流媒体服务器,它支持实时流传输协议(RTMP)、RTMPT、RTMPE、RTMPF、RTMPS等,使得开发者可以构建丰富的互动媒体应用。在Flex和Java之间进行信息交互时,Red5作为一个中间件起到了关键作用,...
侯捷和刘永丹合译得Practical Java,压缩包内含3个文件,其中2个pdf,一个为全简体版,虽有所删割,我还没添加书签,但排版良好,推荐。 另一个是网友合成版,前3章是侯捷发布的免费版,当然是繁体的,后面的是网上...
Red5是一款开源的流媒体服务器,它主要由Java语言编写,提供实时流传输服务,支持RTMP、HLS、RTSP等多种协议。Red5能够处理音视频流,用于在线直播、点播等应用场景。在本压缩包中,你将获得Red5 6.0版本的Java源...
在IT行业中,实时流传输协议(Real-Time Streaming Protocol, RTSP)是一种用于控制多媒体数据流的协议,常用于在线视频和音频的传输。本项目"rtspdemo_java_your9fk_rtspjar_"是一个使用Java语言实现的RTSP视频流...
Red5是一个开源的流媒体服务器,它支持实时流传输协议(RTMP)、HLS、RTSP等,广泛应用于在线直播、视频会议等领域。在Java环境中,开发者可以利用Red5 API来创建、管理和分发多媒体内容。 描述中提到的“NULL 博文...
监控通常涉及到远程视频流传输,可能需要使用RTSP、RTMP协议,或者WebSocket进行实时数据传输。录屏功能则受限于Android的安全性,只有系统级别的应用才能访问屏幕内容,普通应用通常无法实现全局录屏。 在学习和...
源码中可能包含了使用NIO实现的聊天服务器或数据流传输应用。 在网络开发中,线程管理和并发控制也至关重要。Java的并发库,如`java.util.concurrent`,提供了线程池、锁、同步器等工具,使得多线程编程更加便捷和...
Red5是一款开源的Java流媒体服务器,它支持实时流传输协议(RTSP)、实时传输协议(RTP)、实时消息传输协议(RTMP)以及HTTP流等。在这个名为"Red5 Java 端聊天室代码"的压缩包中,包含的是一个使用Red5服务器构建的聊天...
Red5是一款开源的Java流媒体服务器,它支持实时流传输协议(RTSP)、实时传输协议(RTP)、实时控制协议(RTCP)以及互联网工程任务组(IETF)定义的交互式网络电视(ITV)协议族。这个压缩包文件"采用red5视频流服务的web视频...
6. **WebSocket**:用于实现实时的视频流传输,Java提供了WebSocket API来创建双向通信通道。 7. **视频处理**:可能使用了Java Media Framework(JMF)或FFmpeg库进行视频编码、解码和转换。 8. **安全性**:...
在这个"Real-time-Video-Streaming.zip"压缩包中,包含了一个使用Java语言实现的实时视频流项目,名为"Real-time-Video-Streaming-master"。下面我们将深入探讨相关的知识点。 首先,我们要了解Java在实时视频流中...
4. "dy-master.zip" 和 "网上流传的.zip" - 这两个ZIP文件可能是不同版本的源代码或者相关资源,供用户参考或比较,以便于理解代码的演化和改进。 5. "app.zip" - 应用的压缩包,包含编译后的APK文件和其他相关资源...