UIWebView链接代理

时间:2013-11-18 12:17:38

标签: file uiwebview download nsdata

我要做的是创建一个可下载某些扩展文件的应用程序(比如我的FTP中的.mp3文件)。我想要一个用于在UIWebview中点击链接的委托方法,如果链接以“.mp3”结尾,则创建一种下载方法,将文件写入带有自动文件名的/ Documents目录。

有没有办法实现这个目标?我到处寻找下载文件并将它们写入/ Documents目录但没有答案。

提前致谢!

1 个答案:

答案 0 :(得分:1)

是的,有:

      - (void)webViewDidFinishLoad:(UIWebView *)aWebView
        {
            currentURL = self.webView.request.URL.absoluteString;
            NSLog(@"Current URL %@", currentURL);
            if ([currentURL rangeOfString:@"mp3"].location == NSNotFound) {
                NSLog(@"string does not contain mp3");   
            } else {
                NSLog(@"Found mp3");
                //Do the download here
NSString *urlString = currentURL;
            NSURL  *url = [NSURL URLWithString:urlString];
            NSData *urlData = [NSData dataWithContentsOfURL:url];
            [urlData writeToURL:url atomically:YES];
            if ( urlData )
            {  
                NSArray *paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES);
                NSString  *documentsDirectory = [paths objectAtIndex:0];

                NSString  *filePath = [NSString stringWithFormat:@"%@/%@", documentsDirectory,@"downloadedMP3.mp3"];
                [urlData writeToFile:filePath atomically:YES];
            }
            }
        }

不要忘记遵守.h文件中的UIWebView协议(<UIWebViewDelegate>