如何在C(或C++)中使用HTTP协议上传(非常)大文件?使用HTTP/POST传输大文件
我知道这不是上传大文件的正确方法,但那不是重点。
我已经看到关于POST传输文件的源代码,但是我注意到,每一次,整个二进制文件都包含在POST序列内(“--boundary”之间)。
因此,在深入研究Webkit/Gecko源代码之前,有人知道他们是怎么做的?
如何在C(或C++)中使用HTTP协议上传(非常)大文件?使用HTTP/POST传输大文件
我知道这不是上传大文件的正确方法,但那不是重点。
我已经看到关于POST传输文件的源代码,但是我注意到,每一次,整个二进制文件都包含在POST序列内(“--boundary”之间)。
因此,在深入研究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
......
您可以使用分块方法以块为单位发送数据。这将允许您发送/接收更大规模的数据。请参阅RFC 2616关于分块如何真正起作用。
你确定你在谈论下载吗? “POST”请求听起来更像是上传。 –
你的意思是上传? –
当然是的......我改变了我的问题,我的错:( – Stef