2011-12-29 32 views
2

このようなURLをダウンロードすると、http://tinyurl.com/csr2xc7がASIHTTPRequestのtemporaryFileが作成され、データがメモリに保存されません。ただし、次のようなURLの場合:http://www.youtube-mp3.org/get?video_id=2MDYBFKjx2I&h=03492626150e7377f6def57cd3bdc16d一時ファイルは作成されません。ASIHTTPRequest setTemporaryFileDownloadPath:一部のURLで動作しない

2つ目のURLは、開いたときにすぐにダウンロードを開始しますが、最初のURLは要求を使用してダウンロードできるビデオのみを表示します。また、2番目のURLを開くと、ダウンロードが始まる前に最初にリダイレクトされます。

どうすればこの問題を解決できますか?

答えて

0

私はそれを自分で解決することができました。元の要求がリダイレクトされると、一時ファイルも削除されます。したがって、request:willRedirectToURL:では、単にパスを再度設定する必要があり、今は魅力のように動作しています:)

- (void)request:(ASIHTTPRequest *)orig willRedirectToURL:(NSURL *)newURL { 
    NSArray *ar = [NSArray arrayWithContentsOfFile:@"/var/mobile/Library..."]; 
    [request setDownloadDestinationPath:[[ar objectAtIndex:orig.tag] valueForKey:@"Path"]]; 
    [request setTemporaryFileDownloadPath:[[ar objectAtIndex:orig.tag] valueForKey:@"tmp"]]; 
    [request redirectToURL:newURL]; 
}