objective-c - ASIHTTPRequest setTemporaryFileDownloadPath:不适用于某些URL

标签 objective-c ios cocoa-touch url asihttprequest

当我下载如下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/

相关文章:

IOS - 请求成员 'domain' 不是结构或联合?

c++ - 按顺时针顺序排列坐标

cocoa - NSDecimalNumber 的 ceilf 和 Floorf 等效方法

objective-c - 使用 isEqualToString 时访问错误

iphone - 带有 Cocoa Touch 的 XML

c - 在 xcode 中运行测试时,在 NSObject.h、NSObjCRuntime.h 等类中出现错误

objective-c - OS X 应用程序的键盘快捷键 View ?

objective-c - 检查复杂 JSON 响应中的空键

ios - 如何在 Objective C 中创建 CBUUID

ios - Swift 3 尝试呈现其 View 不在窗口层次结构中