struts2,文件下载疑惑

发布于 2021-11-23 21:25:03 字数 965 浏览 808 评论 4

问题描述:

        我在使用struts2书写一个下载的功能,对于存在于文件服务器的文件,采用的是根据路径获得其inputstream流,进而输出到客户端,这里遇到一个疑问

Q:在这种情况下,文件的大小如何计算呢?我在本地磁盘放置了一个文件,通过httpfox观察,发现在response报文中并没有Content-Length的大小,但观察baitu的云盘是存在这个选项的,截图中有说明

Q2:如果需要增加这个字段,是人工的计算好,在添加到struts2中的result选项中吗?类似于 el表达式这种


百度云盘的response:

自己模拟的相应报文

struts的xml配置

在这个xml中 没有配置content-length字段,上图中的response中也没有相应的长度字段,我下载的文件是一个20M的安装包

还是说,需要类似于这种的形式,人工添加content-length的字段

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(4

瑾夏年华 2021-11-24 02:43:54

没设置Content-Length,肯定设置
Transfer-Encoding:chunked,说明输出流是chunked编码,具体详细解释可以google下或参考http://my.oschina.net/u/866190/blog/170243

狠疯拽 2021-11-24 02:43:47

这要设置http响应的头信息

静谧 2021-11-24 02:38:00

你是根据路径获取的一个File对象,如果是File对象就有类似getSize()的方法的.

爱的那么颓废 2021-11-24 01:58:38

你是根据路径获取的一个File对象,如果是File对象就有类似getSize()的方法的.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文