Передача больших файлов с использованием HTTP / POST - PullRequest
1 голос
/ 19 января 2012

Как я могу загрузить (очень) большой файл с протоколом HTTP в C (или C ++)?

Я знаю, что это неправильный способ загрузки огромных файлов, но это не главное.

Я уже видел источники о передаче файлов POST в C ++, но заметил, что каждый раз двоичный файл ВСЕ включался в последовательность POST (между "--boundary").

Итак, прежде чем углубляться в исходный код Webkit / Gecko, кто-нибудь знает, как они это делают?

Ответы [ 2 ]

2 голосов
/ 19 января 2012

Вы можете использовать заголовок «Content-Range» в HTTP-запросе POST для загрузки фрагмента огромного файла.

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

......
0 голосов
/ 02 ноября 2012

Вы можете использовать метод разбиения на фрагменты для отправки данных в виде фрагментов. Это позволит вам отправлять / получать данные в большем масштабе. Обратитесь к RFC 2616, чтобы узнать, как на самом деле работает чанкинг.

...