有没有人有任何经验,其中请求的文件下载(HTTP)标题中的内容长度不等于下载时的实际文件长度(大小)?
问问题
4607 次
3 回答
1
内容长度标头是 HTTP 响应正文中的字节数。
这是在所有编码阶段之后计算的,大多数编码方法都会改变长度。
- 压缩会缩小它
- Base 64 会增加它。
内容长度标头仅在从套接字读取多少原始数据方面有用。分配一个缓冲区来保存解码的内容将无济于事。
(我刚刚编写了一些代码来拉取数据,但必须读取响应流以增量方式扩展缓冲区,而不是大量分配读取。)
于 2010-04-17T08:50:02.467 回答
0
您提出问题的方式具有误导性。
当 HTTP 响应带有 content-length 标头时,这就是消息的长度。时期。好吧,除了 HEAD 响应。
如果服务器发送的数量超过此数量,则它已损坏。
于 2010-04-17T09:27:17.650 回答
-1
你可以WebClient.DownloadTaskAsync(...)
改用。文件大小将相同。
于 2018-07-12T13:01:30.777 回答