当我下载如下URL:http://tinyurl.com/csr2xc7时,会创建ASIHTTPRequest的临时文件,并且数据不会存储在内存中。但是,使用以下URL:http://www.youtube-mp3.org/get?video_id=2MDYBFKjx2I&h=03492626150e7377f6def57cd3bdc16d不会创建临时文件。
区别在于,第二个URL在打开时立即开始下载,而第一个URL仅显示可以使用请求下载的视频。同样,当您打开第二个URL时,首先会在下载开始之前被重定向。
我该如何工作?
最佳答案
我自己解决了。当原始请求被重定向时,临时文件也将被删除。因此,在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];
}
关于objective-c - ASIHTTPRequest setTemporaryFileDownloadPath:不适用于某些URL,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8673547/