SSH 开发的网站下载时在浏览器显示已经下载文件大小有异常

itsection 2016-02-29 10:58:27
采用ssh框架下载,部署在亚马逊服务器上的项目,下载文件时不能准确显示已经下载文件大小,最大显示为1M左右,但是下载还是在继续,只是显示不在增加。下载方式为边加压缩边下载及流的方式下载.
...全文
315 8 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
scmod 2016-03-02
  • 打赏
  • 举报
回复
一般好像都是压缩完了再传...这样响应头有个标记文件大小的啥length什么的 这样边压缩边下载是不是返回的里面没这个东西所以他也不知道该什么时候停下来 好像网上有说Transfer-Encoding这个头弄成chunked就可以无视这个参数,不知道有用不
itsection 2016-03-02
  • 打赏
  • 举报
回复
引用 3 楼 scmod 的回复:
mark...从来没试过这样的... 流关闭了还是这样吗?
可以确定是关闭了的。
itsection 2016-03-02
  • 打赏
  • 举报
回复
引用 7 楼 Royal_lr 的回复:
是不是压缩完之后最大为1M左右
不是的,都是几M以上的
Royal_lr 2016-03-02
  • 打赏
  • 举报
回复
是不是压缩完之后最大为1M左右
itsection 2016-03-02
  • 打赏
  • 举报
回复
引用 5 楼 scmod 的回复:
一般好像都是压缩完了再传...这样响应头有个标记文件大小的啥length什么的 这样边压缩边下载是不是返回的里面没这个东西所以他也不知道该什么时候停下来 好像网上有说Transfer-Encoding这个头弄成chunked就可以无视这个参数,不知道有用不
一般确实是压缩再传的。但是当时为了提高效率,就选择了边压缩边下载。我下载时,查看响应头是可以看到: Connection:keep-alive Content-disposition:attachment; filename=1a4b006386a94f15a389bc6edc73f8fa.zip Content-Type:application/zip Date:Wed, 02 Mar 2016 07:18:58 GMT Server:nginx Transfer-Encoding:chunked X-Frame-Options:SAMEORIGIN 我在程序中没有特意去设置Transfer-Encoding:chunked。 而且我在测试环境(局域网)及本机环境下载是不会出现这种情况的。
itsection 2016-03-01
  • 打赏
  • 举报
回复
不能获取大小,是边压缩边下载,所以不知道压缩后的文件大小。下载使用的方式是直接获取response,把流数据放到response中输出。
scmod 2016-03-01
  • 打赏
  • 举报
回复
mark...从来没试过这样的... 流关闭了还是这样吗?
西瓜蓬蓬 2016-02-29
  • 打赏
  • 举报
回复
直接获取文件大小可以吧,使用struts自带的up/download试试

67,544

社区成员

发帖
与我相关
我的任务
社区描述
J2EE只是Java企业应用。我们需要一个跨J2SE/WEB/EJB的微容器,保护我们的业务核心组件(中间件),以延续它的生命力,而不是依赖J2SE/J2EE版本。
社区管理员
  • Java EE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧