struts2,文件下载疑惑
问题描述:
我在使用struts2书写一个下载的功能,对于存在于文件服务器的文件,采用的是根据路径获得其inputstream流,进而输出到客户端,这里遇到一个疑问
Q:在这种情况下,文件的大小如何计算呢?我在本地磁盘放置了一个文件,通过httpfox观察,发现在response报文中并没有Content-Length的大小,但观察baitu的云盘是存在这个选项的,截图中有说明
Q2:如果需要增加这个字段,是人工的计算好,在添加到struts2中的result选项中吗?类似于 el表达式这种
百度云盘的response:
自己模拟的相应报文
struts的xml配置
在这个xml中 没有配置content-length字段,上图中的response中也没有相应的长度字段,我下载的文件是一个20M的安装包
还是说,需要类似于这种的形式,人工添加content-length的字段
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(4)
没设置Content-Length,肯定设置
Transfer-Encoding:chunked,说明输出流是chunked编码,具体详细解释可以google下或参考http://my.oschina.net/u/866190/blog/170243
这要设置http响应的头信息
你是根据路径获取的一个File对象,如果是File对象就有类似getSize()的方法的.
你是根据路径获取的一个File对象,如果是File对象就有类似getSize()的方法的.