2011-12-29 25 views
2

當我下載一個這樣的URL:http://tinyurl.com/csr2xc7時,ASIHTTPRequest的temporaryFile被創建並且數據不存儲在內存中。然而,使用這樣的URL:http://www.youtube-mp3.org/get?video_id=2MDYBFKjx2I&h=03492626150e7377f6def57cd3bdc16d臨時文件不會被創建。ASIHTTPRequest setTemporaryFileDownloadPath:不與某些URL一起工作

區別在於第二個URL在您打開時會立即開始下載,而第一個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]; 
} 
相關問題