ContentLength与实际File.Length

时间:2010-04-17 08:29:11

标签: c# http fileinfo

有没有人有任何经验,其中标题中下载的请求文件(HTTP)内容长度不等于下载时的实际文件长度(大小)?

3 个答案:

答案 0 :(得分:1)

内容长度标头是HTTP响应正文中的字节数。

这是在所有编码阶段之后计算的,大多数编码方法都会改变长度。

  • 压缩会缩小它
  • Base 64会增加它。

内容长度标头仅在从套接字读取的原始数据量方面有用。它将无助于分配缓冲区来保存解码内容。

(我刚刚编写了一些代码来提取数据,但必须读取响应流,逐步扩展缓冲区而不是一个大的分配读取。)

答案 1 :(得分:0)

你说出问题的方式是误导性的。

当HTTP响应带有内容长度标头时, 消息的长度。期。好吧,除了HEAD回复。

如果服务器发送的内容超过了,那就破坏了。

答案 2 :(得分:-1)

您可以改用WebClient.DownloadTaskAsync(...)。文件大小将相同。