Rackspaceクラウドファイルからmp3ファイルをダウンロードしています。大きなファイルの場合、ダウンロードは正常に完了していますが、ファイルはまだ完全にダウンロードされていません。たとえば、40 MB
mp3ファイル(01:00:00
デュレーション)は、4.5 MB
mp3ファイル(00:10:30
デュレーション)としてダウンロードされます。これは常に起こるわけではありません。ASIHTTPRequestとRackspaceクラウドファイルを使用した不完全なファイルのダウンロード
- 何が起こっているかについての指針はありますか?
- なぜこのようなことが起こり、この問題を解決するにはどうすればよいですか?
- ファイルが完全にダウンロードされたかどうかをチェックする簡単なチェックサムロジックを構築するにはどうすればよいですか?私は4件の同時ダウンロードとネットワークキューを使用してい
ASIHTTPRequest *request; request = [ASIHTTPRequest requestWithURL:[NSURL URLWithString:urlString]]; [request setShouldAttemptPersistentConnection:NO]; [request setAllowResumeForFileDownloads:YES]; [request setDownloadProgressDelegate:self]; [request setShouldContinueWhenAppEntersBackground:YES]; [request setUserInfo:userInfo]; [request setDownloadDestinationPath:downloadPath]; [request setTemporaryFileDownloadPath:[NSString stringWithFormat:@"%@.download", downloadPath]]; [self.networkQueue addOperation:request]; [self.networkQueue go];
注:私が作成し、非同期要求を送信する方法をここで
です。
ありがとうございました。
編集(月2012年3月5日、午前3時25分PM)
ので、さらなる調査がASINetworkQueue
ではなくrequestDidFailSelector
のrequestDidFinishSelector
デリゲートメソッドを呼び出していることを示しています。 ASIHTTPRequest
オブジェクトから返されるステータスコードは、requestDidFinishSelector
メソッドの206, HTTP/1.1 206 Partial Content
です。ステータスコードは200, HTTP/1.1 200 OK
である必要があります。
私はまだなぜか分からない!私はまだこれを解決する方法を知らない。部分的にダウンロードしたファイルを削除して、ダウンロードプロセスを再開しなければならないようです。この時点で一時ファイル、すなわち%@.download
が削除され、この部分的にダウンロードされたファイルは宛先パスに置かれます。
ASIHTTPのバグかどうかチェックしましたか? –
はい、このようなものは見つかりませんでした。 – Mustafa
こんにちは@Mustafa、私はiOSとラックスペースクラウドサービスを統合するのが初めてで、iOSを使ってラックスペースに接続できるリソースを教えてくれれば嬉しいです。そのためのライブラリやSDKはありますか? – bizsytes