【问题标题】:Save PDF file in disk将 PDF 文件保存在磁盘中
【发布时间】:2011-12-25 08:24:17
【问题描述】:

大家好! 我需要以某种方式将 PDF 文件保存在 iPhone 上。我在 UIWebVIew 中打开该站点,并且有一个下载 PDF 文件的链接,但在 UIWebView 中打开了 PDF 文件。有没有办法实现它?

【问题讨论】:

    标签: iphone xcode uiwebview


    【解决方案1】:

    在 UIWebView 委托中,您可以处理导航通知并阻止它;从通知中您将知道 PDF URL,这将允许您使用 NSURLConnection 下载它。

    【讨论】:

    • 不太清楚。让我们从一个简单的开始:有一个指向 PDF 文件的直接链接。这个在iphone里是怎么上传的,然后在哪里看这个文件呢?
    • 查看下面塞尔吉奥的答案
    • 如果你有一个直接的 URL,你应该: 1. 从你的 URL 的 NSString 创建 NSURL 实例; 2. 从 NSURL 实例创建 NSURLRequest 实例; 3. 使用 NSURLRequest 实例创建 NSURLConnection 实例; 4. 处理 NSURLConnection 委托以累积接收到的 NSData 并将其保存在沙箱的 Caches 或 tmp 目录中。
    • 或者你可以使用方便的 ASIHTTPRequest 库,在allseeing-i.com/ASIHTTPRequest/How-to-use查看更多细节
    【解决方案2】:

    看看这个question/answer from S.O. 它包含用于检测您正在下载文档和实际保存到磁盘的示例代码...

     - (BOOL)webView:(UIWebView*)webView shouldStartLoadWithRequest:(NSURLRequest*)request navigationType:(UIWebViewNavigationType)navigationType {
    
     if ([[[request URL] scheme] isEqual:@"http"] && 
         [[[request URL] pathExtension]...])
            <your download/save code here>
            return NO;  //-- no need to follow the link
     }
     return YES; //-- otherwise, follow the link
    

    }

    【讨论】:

      猜你喜欢
      • 2019-10-30
      • 1970-01-01
      • 1970-01-01
      • 2016-07-22
      • 2013-12-19
      • 2010-09-23
      • 2010-11-08
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多