【问题标题】:Transfer large files using HTTP/POST使用 HTTP/POST 传输大文件
【发布时间】:2012-01-19 13:53:50
【问题描述】:

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

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

我已经看过关于 C++ 文件 POST 传输的资料,但我注意到,每次,整个二进制文件都包含在 POST 序列中(在“--boundary”之间)。

那么,在深入研究 Webkit/Gecko 源代码之前,有人知道他们是怎么做的吗?

【问题讨论】:

  • 您确定要下载吗? POST 请求听起来更像是上传。
  • 是的,当然......我改变了我的问题,我的错:(
  • 您可以将 HTTP PUT 与 Content-Range 一起使用,以便在传输中断时更加灵活。

标签: c http post webkit gecko


【解决方案1】:

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

......

【讨论】:

    【解决方案2】:

    您可以使用分块方法将数据分块发送。这将允许您更大规模地发送/接收数据。请参阅 RFC 2616,了解分块的真正工作原理。

    【讨论】:

      猜你喜欢
      • 2010-10-08
      • 1970-01-01
      • 2011-11-27
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-07-12
      • 1970-01-01
      相关资源
      最近更新 更多