文件下载(浏览器下载与迅雷下载)
以前并没有特别注意过,文件下载都是输出一个流文件,放在response中返还给浏览器就可以下载文件了。上次突然发现迅雷不能下载这样的文件(虽然现在迅雷用的比较少了)。
上网查了一部分资料,整理常见的一些说法如下(因为资料来源比较琐碎,就不特别记载了,事实上我没有看到特别完整的解决方案和原因分析):
response返回流文件时使用了session,迅雷会两次请求servlet导致session丢失(也就是说迅雷真正下载的地址是下不到数据的)。
response没有返回文件信息或者设置正确的文件长度,常见设置是:
response.addHeader("Content-Disposition", "attachment;filename=" + new String(filename.getBytes())); response.addHeader("Content-Length", "" + file.length()); response.setContentType("application/octet-stream");
- 有一种解决方案是在服务器生成一个文件让迅雷下载(返回指定地址给迅雷,注意要是有效地址,即任意访问都能下载的地址)
总结:
Java下载文件离不开response,不能下载往往是一些其他因素引起的。
看来有时间要试着写一个Demo玩一下各种上传下载(包括2GB以上大文件、断点续传等),也可以观摩一下开源的文件处理程序,比如百度的WebUploader
文件下载(浏览器下载与迅雷下载)相关推荐
- 前端随记---文件下载启用浏览器下载和迅雷下载
一.前言 最近在写自己的项目时,要实现文件下载功能.然后想起一般在资源网站下载文件的时候,它们都是给出一个资源链接,然后调用浏览器下载或启用外部的程序(如:迅雷下载), 因此想偷个懒,在自己项目中使用 ...
- 360浏览器取消默认迅雷下载
360浏览器点击链接下载,默认弹出迅雷下载,但是有时候容易出现下载失败 这个时候就要取消默认的迅雷下载方式 在迅雷设置里面找到下载接管设置,取消接管所有浏览器 解决办法:
- 如何在火狐浏览器中使用迅雷下载
火狐浏览器用迅雷下载的话,需要下载一个火狐的插件,叫flashgot, 你可以在火狐浏览器的工具-附加组件里搜一下,安装就可以了,同时还要设置迅雷,打开迅雷, 工具-浏览器支持,然后添加火狐的就行了. ...
- 《唐山大地震》高清下载,迅雷下载,在线观看!
郑重声明:本作品之片源,字幕均来自互联网,版权归电影公司所有.任何组织和个人不得公开传播或用于任何商业盈利用途,否则一切后果由该组织或个人承担!请自觉与下载后24小时内删除.如果喜欢本片,请购买正版! ...
- java 文件下载浏览器没有弹出下载框
原因是我在前端用了ajax请求,后端用了二进制流来实现,而ajax不支持流形式,改成了表单提交解决.
- php下载链接 迅雷下载,php实现把url转换迅雷thunder资源下载地址的方法
php实现把url转换迅雷thunder资源下载地址的方法 本文实例讲述了php实现把url转换迅雷thunder资源下载地址的方法.分享给大家供大家参考.具体方法分析如下: 如果你知道迅雷地址的生成 ...
- python迅雷远程下载页面_【教程】Chrome浏览器添加迅雷下载支持
2019年4月28日更新: 目前官方最新版本的迅雷X已经实现自动安装Chrome扩展,无需手动安装. 请仍在使用老版本迅雷的雷友升级到官方最新版本的迅雷X. 以下内容已经过期 最近一段时间,Googl ...
- 浏览器默认迅雷下载问题
在csdn下载文件时,浏览器默认使用迅雷下载,导致rar包下载后仅有一个html文件(原因未明),如下图: 可以取消迅雷对浏览器的监视,恢复默认下载方式. :
- VB 迅雷下载地址解密函数
它可将加密过的迅雷下载地址URL转换成真正的下载地址. Private Sub Form_Load() '解密 MsgBox thunderToURL("thunder: ...
最新文章
- LeetCode 1021:Remove Outermost Parentheses
- getHibernateTemplate()的用法 (转)
- Adapterview和adapter的联系
- LFS 8.3 中文翻译版本发布!
- 用Silverlight做广告Banner
- python自学笔记之开源小工具:SanicDB介绍
- 前端学习(955):移动端特效导读
- Rabbtmq Confirm 确认消息
- 13001.udp广播接收程序(python)
- 本地未安装Oracle数据库,如何连接远程Oracle数据库
- Python菜鸟入门:day18编程学习
- 怎样的数据分析才有价值
- 【转】7个顶级心理预言
- SQL,不定条件查询,case,when,then,end,isnull,join,inner,on
- 游戏开发最佳10个工具与技术方案
- Termux使用教程
- JavaScript学习简单总结
- IcedTea6 1.9已通过HotSpot 17更新为OpenJDK6 b20
- 单元一: 全桥驱动电路(驱动MOS/IGBT均适用,附带硬件)
- 基于java的springboot宠物商城系统毕业设计springboot开题报告