2012-01-19 28 views
1

HTTPプロトコルを使用して(非常に)大きなファイルをC(またはC++)でアップロードするにはどうすればよいですか?HTTP/POSTを使用して大きなファイルを転送する

巨大なファイルをアップロードするのは正しい方法ではないことは分かっていますが、それは重要なことではありません。

私はすでにC++でのファイルのPOST転送についての情報源を見てきましたが、そのたびに、全バイナリファイルがPOSTシーケンス( " - 境界"の間)に含まれていました。

Webkit/Geckoのソースコードを深く深く理解する前に、どうやってそれらのことを知っていますか?

+1

あなたはダウンロードについて話していますか? 'POST'リクエストはアップロードのように聞こえます。 –

+1

あなたはアップロードを意味しますか? –

+0

はいもちろんです...私は私の質問、私の誤りを変えます:( – Stef

答えて

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 

...... 
0

チャンク方式を使用してデータをチャンクで送信できます。これにより、大規模なデータの送受信が可能になります。チャンクが実際にどのように機能するかについては、RFC 2616を参照してください。

関連する問題