ASIHTTPRequestを使用してファイルをダウンロードしたいのですが、データが入ってくるときに暗号化することを除いて、通常のファイルへの直接ダウンロードのように動作させたいです。
カスタムデータ処理が必要なため、デリゲートにrequest:didReceiveDataを実装させる必要があります。「ASIHTTPRequestはresponseDataにデータを入力したり、downloadDestinationPathに応答を書き込んだりしません。必要に応じて、応答を自分で保存する必要があります。」
カスタムdidReceiveDataを実装するコードの例が見つかりません。データが入ってくるときにデータを処理する方法や、ダウンロード先のパスを設定する方法がわかりません。オンラインで見ることができる例はありますか?
宛先ファイルにデータを書き込むために、関数を次のように定義しようとしました。
-(void)request:(ASIHTTPRequest *)request didReceiveData:(NSData *)data {
[data writeToFile:request.downloadDestinationPath atomically:YES];
}
ただし、リクエストが完了すると、ファイルは存在せず、次の方法で確認されます。
for (ASIHTTPRequest* req in queue.operations) {
NSLog(@"file at %@", req.downloadDestinationPath);
if ([[NSFileManager defaultManager] fileExistsAtPath:req.downloadDestinationPath]) {
NSLog(@"file exists!");
}
}
誰かがこのライブラリの経験があり、リソース、サンプルプロジェクト、チュートリアルを教えてくれる場合、または単純な答えがある場合は、それをいただければ幸いです:)
編集:NSURLConnectionを使用する方が良いでしょうか?