Detecting Download in UIWebView(在 UIWebView 中检测下载)
问题描述
我有一个以编程方式创建的 UIWebView,它用于浏览存储在我的服务器上的 iPhone 风格的网站.在这个网站上,有一些用户可以下载到我的应用程序中的文件链接.现在,我正在尝试通过以下方式检测到这一点:
I have a programatically crated UIWebView, and it is used to browse a iPhone-style site stored on my server. In this website, there are a few links to files users can download into my application. Right now, I'm trying to detect this with:
- (BOOL) webView:(UIWebView *) webView shouldStartLoadWithRequest:(NSURLRequest *) request navigationType:(UIWebViewNavigationType) navigationType
{
url = [request URL];
NSString *mimeType = [request valueForHTTPHeaderField:@"Content-Type"];
NSLog(@"Content-type: %@", mimeType);
if(mimeType == @"application/zip" || mimeType == @"application/x-zip" || mimeType == @"application/octet-stream")
{
NSLog(@"Downloading file!");
[NSThread detachNewThreadSelector:@selector(download:) toTarget:self withObject:@"/tmp/file.ipa"];
return NO;
}
return YES;
}
但是,当调用此方法时,内容类型标头几乎总是(null),所以我永远无法下载文件.
However, when this method is called, the content-type header is almost always (null), so I never am able to download a file.
你会如何正确地做到这一点?
How would you do this correctly?
推荐答案
您正在尝试从尚未生成的 NSURLRequest 中检测 Content-Type.在使用 NSURLConnection 发出请求之前,您不会知道 Content-Type.在这种情况下,我可能只会查看 URL 路径的文件扩展名.
You're trying to detect a Content-Type from an NSURLRequest which has not yet been made. You won't know the Content-Type until after the request is made using NSURLConnection. In this case, I'd probably just look at the file extension of the URL path.
这篇关于在 UIWebView 中检测下载的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持编程学习网!
本文标题为:在 UIWebView 中检测下载
基础教程推荐
- AdMob 广告未在模拟器中显示 2022-01-01
- Android:getLastKnownLocation(LocationManager.NETWORK_PROVIDER 2022-01-01
- 如何从 logcat 中删除旧数据? 2022-01-01
- iPhone - 获取给定地点/时区的当前日期和时间并将其与同一地点的另一个日期/时间进行比较的正确方法 2022-01-01
- Cocos2d iPhone 非矩形精灵触摸检测 2022-01-01
- iOS4 创建后台定时器 2022-01-01
- NSString intValue 不能用于检索电话号码 2022-01-01
- 通过重定向链接在 Google Play 中打开应用 2022-01-01
- navigator.geolocation.getCurrentPosition 在 Android 浏览器上 2022-01-01
- libGDX 从精灵或纹理中获取像素颜色 2022-01-01
