在iPhone应用程序中下载文件

时间:2010-02-06 19:21:04

标签: iphone pdf file uiwebview

我目前正在开发一款iPhone应用程序,并希望实现从互联网上下载文件(特别是pdf,mp3,doc和ppt文件)的功能。我创建了UIWebView,但是想知道在webview中链接文件时捕获文件的最佳方法,然后将它们下载到文档目录中的指定文件夹。

非常感谢任何有关教程等的建议/链接。

干杯

3 个答案:

答案 0 :(得分:3)

<强>被修改
UIWebView不能用于下载 pdf,mp3,doc,ppt等...它仅用于显示网页。

您需要使用Quartz 2D来绘制pdf文档。您需要Media Player framework来播放歌曲,有声读物。

要从服务器下载文件,您可以尝试使用[NSData initWithContentsOfURL]方法。

一个例子:

NSString *strImagePathURL = [NSString stringWithFormat:@"http://foo.com/%d.png", item];
NSData *imageData = [[NSData alloc] initWithContentsOfURL:[NSURL URLWithString:strImagePathURL]];

您可以稍后决定如何处理NSData,您可以使用[NSData writeToFile]方法将其保存到Documents文件夹中的文件。

答案 1 :(得分:2)

找到了捕获链接的方法。这是一个委托方法,因此请确保所有挂钩都已到位:

- (BOOL)webView:(UIWebView*)webView shouldStartLoadWithRequest:(NSURLRequest*)request navigationType:(UIWebViewNavigationType)navigationType {

    //CAPTURE USER LINK-CLICK.
    if (navigationType == UIWebViewNavigationTypeLinkClicked) {
        NSURL *URL = [request URL]; 
        NSLog(@"url is: %s ", URL);
    }   
    return YES;   
}

From here

一旦完成,我会发布我的最终代码。

答案 2 :(得分:1)

  1. 要捕获UIWebView中的链接,请实施webView:shouldStartLoadWithRequest:navigationType:委托方法,并在看到要处理的链接时返回NO

  2. 有关如何在iPhone上使用HTTP下载的示例代码,请参阅SimpleURLConnections示例项目。