使用HTTP / POST传输大文件

时间:2012-01-19 13:53:50

标签: c http post webkit gecko

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

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

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

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

2 个答案:

答案 0 :(得分:2)

您可以在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

......

答案 1 :(得分:0)

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