使用HTTP / POST传输大文件

如何在C(或C ++)中使用HTTP协议上传(非常)大文件?

我知道这不是上传大文件的正确方法,但这不是重点。

我已经看过有关C ++文件的POST传输的消息来源,但我注意到,每次,WHOLE二进制文件都包含在POST序列中(在“–bound”之间)。

因此,在深入和深入了解Webkit / Gecko源代码之前,有人知道它们是如何做的吗?

您可以在HTTP POST请求中使用“Content-Range”标头来上传大文件的片段。

 POST http://[server_ip]:80/upload?fn=xx.dat HTTP/1.1 Content-Range: bytes=0-4095 Content-Type: application/octet-stream Content-Length: 4096 ...... 

您可以使用分块方法以块的forms发送数据。 这将允许您更大规模地发送/接收数据。 有关分块是如何工作的,请参阅RFC 2616。