首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >如何在java中设置http头部内容长度为长值?

如何在java中设置http头部内容长度为长值?
EN

Stack Overflow用户
提问于 2012-07-13 16:34:41
回答 4查看 49.2K关注 0票数 15

我正在用java编写一个web服务器,它可以传输高达2 2GB的文件。当我搜索原因时,我发现like java HttpServelet只允许我们将内容长度设置为int。由于整数的最大大小是2 2GB,所以当我使用response.setContentLength方法时,它可以工作到2 2gb。现在的问题是,默认response.setContentLength的参数是整数。所以它不接受长值作为参数。我已经尝试过response.setHeader("Content-Length",Long.toString(f.length();response.addHeader("Content-Length",Long.toString(f.length();但都不起作用。当内容长度为长值时,它总是无法添加内容长度。所以请给出任何HTTPServletResponse的工作解决方案,以便我可以将内容长度设置为长值。

EN

回答 4

Stack Overflow用户

发布于 2014-07-04 18:16:38

您也可以使用下面的示例代码。

代码语言:javascript
运行
复制
long length = fileObj.length();

if (length <= Integer.MAX_VALUE)
{
  response.setContentLength((int)length);
}
else
{
  response.addHeader("Content-Length", Long.toString(length));
}
票数 11
EN

Stack Overflow用户

发布于 2012-07-13 16:56:51

试试这个:

代码语言:javascript
运行
复制
long length = ...;
response.setHeader("Content-Length", String.valueOf(length))

希望这能帮到你。

票数 5
EN

Stack Overflow用户

发布于 2014-09-03 15:19:59

根本不需要设置。

只要让它使用分块传输模式,这是默认的。在这种情况下没有Content-Length报头。请参阅@BalusC在this question下的评论。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/11466905

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档