加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程开发 > Java > 正文

javax.servlet.HttpServletRequest.getContentLength()只返回int

发布时间:2020-12-14 05:17:05 所属栏目:Java 来源:网络整理
导读:为了处理HTTP POST或PUT中的大型请求体,依赖于HttpServletRequest.getContentLength()并不是一个好主意,因为它只返回整数值,或者对于请求主体返回-1. 2GB. 不过,我没有理由,为什么不允许更大的请求机构. RFC 2616说 Any Content-Length greater than or equa
为了处理HTTP POST或PUT中的大型请求体,依赖于HttpServletRequest.getContentLength()并不是一个好主意,因为它只返回整数值,或者对于请求主体>返回-1. 2GB.

不过,我没有理由,为什么不允许更大的请求机构. RFC 2616说

Any Content-Length greater than or equal to zero is a valid value.

使用HttpServletRequest.getHeader(‘content-length’)并将其解析为Long,是否有效?

解决方法

是的,这是一个很好的方法 – 使用getHeader(“Content-Length”)(大小写)和Long.parseLong(..).我相信这是集装箱正在做的,但是它被限制在int由serlvet规格.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读