ユーザーがサーバーから大きなファイルをダウンロードできるようにするユーティリティを作成しています。ボタンをクリックするだけで、ダウンロード要求を一時停止および再開できる柔軟性がユーザーに必要です。ASIHTTPRequest ライブラリを使用していますが、リクエストを一時停止するための API は提供されていません。(ダウンロード要求を再開するルーチンがあります)。ダウンロード リクエストをキャンセルすることは、リクエストを一時停止する唯一の方法です。
ありがとう
ユーザーがサーバーから大きなファイルをダウンロードできるようにするユーティリティを作成しています。ボタンをクリックするだけで、ダウンロード要求を一時停止および再開できる柔軟性がユーザーに必要です。ASIHTTPRequest ライブラリを使用していますが、リクエストを一時停止するための API は提供されていません。(ダウンロード要求を再開するルーチンがあります)。ダウンロード リクエストをキャンセルすることは、リクエストを一時停止する唯一の方法です。
ありがとう
ほとんどのサーバーは、HTTP 範囲ヘッダーをサポートしています。これを使用して、再開時にリクエストするオフセットを指定できます。
ダウンロードを一時停止する直接的な方法はありません。これは、HTTP プロトコルの範囲ヘッダーを使用して実現できます。
詳細はこちらをお読みください....
http://www.w3.org/Protocols/rfc2616/rfc2616-sec14.html#sec14.16
リクエストヘッダーに範囲プロパティを設定するだけで十分です。使用しているライブラリにリクエスト ヘッダーを設定する方法については、ドキュメントを参照してください。
以下は、範囲で渡すパラメーターの方法です。
NSString* range = @"bytes=";
range = [range stringByAppendingString:[[NSNumber numberWithInt:offset] stringValue]];
range = [range stringByAppendingString:@"-"];
[request setValue:range forHTTPHeaderField:@"Range"];
上記のコードを使用する場合は、NSMutableRequest と NSURLConnection を使用します。