-1
我面對建設有下載功能的網頁瀏覽器有問題,這是我的代碼:Objective-C中得到MIME類型是
- (BOOL)webView:(UIWebView*)webView shouldStartLoadWithRequest:(NSURLRequest*)request navigationType:(UIWebViewNavigationType)navigationType
{
NSURL *url = request.URL;
NSURLRequest *req = [NSURLRequest requestWithURL:url];
NSURLConnection *conn = [NSURLConnection connectionWithRequest:req delegate:self];
[conn start];
return YES;
}
- (void)connection:(NSURLConnection *)connection didReceiveResponse:(NSURLResponse *)response
{
if ([[response MIMEType] rangeOfString:@"video"].location != NSNotFound) {
// Do something with that video
}
}
這是目前正在按預期運行,視頻文件將被正確處理,但webview也會加載它,我需要做的是在shouldStartLoadWithRequest返回YES之前捕獲文件的MIME類型,如果是視頻,則返回NO。
我試過sendSynchronousRequest方法,但它減緩了應用程序,我也試過:
#import <MobileCoreServices/MobileCoreServices.h>
NSString *fileExtension = [myFileURL pathExtension];
NSString *UTI = (__bridge_transfer NSString *)UTTypeCreatePreferredIdentifierForTag(kUTTagClassFilenameExtension, (__bridge CFStringRef)fileExtension, NULL);
NSString *contentType = (__bridge_transfer NSString *)UTTypeCopyPreferredTagWithClass((__bridge CFStringRef)UTI, kUTTagClassMIMEType);
但我經常拿錯myme類型,過去的事情,我不想通過文件的擴展名,因爲URL可以檢測類型被格式化爲別名。
謝謝你的幫助。
但我不以任何方式認可你正在嘗試做什麼;對我來說似乎很難。 – matt
完全同意這一點 – TheCodingArt