HTTP请求之文件传输长度问题
在不同平台进行文件交互时,准备通过request.getContentLength()
获取文件长度,以便判断文件长度合法再进行写入。但是文件写入一直失败,通过日志发现request.getContentLength() = -1
,如图。
然后通过打印所有请求头,发现请求投中并没有Content-Length
。
但是通过postman发送请求就会有Content-Length
,如图。
最后通过对比请求头,发现平台交互时,发送文件请求头设置了Transfer-Encoding
属性为chunked
,表示输出的内容长度不能确定,内容就会变成一部一部分发送的形式,没办法一次性计算出content-length
,所以就会去掉属性Content-Length
。