【问题标题】:Check if file on website exists检查网站上的文件是否存在
【发布时间】:2011-03-06 09:34:54
【问题描述】:

在我想检查的 iPhone 上,是否存在网站上的特定文件 (test.licence)。我的方法(到目前为止)是下载文件并检查它是否存在于我的 Documents 目录中。但是,如果该文件不存在,Apache 会显示一个 HTML 错误页面(我下载它而不是 test.licence)。检查文件大小是一个模糊的解决方案,因为它会有所不同。

那么,我如何检查是否存在在线文件(不是更多)?我正在寻找一个简单而干净的解决方案。

问候,

斯蒂芬

【问题讨论】:

    标签: iphone cocoa-touch nsurlconnection nsfilemanager


    【解决方案1】:

    通过NSURLConnection 提交NSURLRequest。当您收到响应时,请检查状态码是 200(存在)、404(不存在)还是其他(发生了不同的事情)。

    【讨论】:

      【解决方案2】:

      404 错误代码是查看页面是否存在的正确方法,但如果您打算在 UIWebView 中显示该页面,您将需要先检查该页面是否存在,以及是否存在,然后在 Web 视图中再次加载它(如果先加载,可能会显示 Apache 错误页面)。

      为了不使用两次带宽,对于第一次健全性检查以查看文件是否存在,您可以执行 HEAD 请求,该请求仅获取 HTTP 标头而不是页面的正文。只需将其添加到您的代码中(假设 urlRequest 是 NSURLRequest 类型):

      [urlRequest setHTTPMethod:@"HEAD"];
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2013-05-22
        • 1970-01-01
        • 2012-07-16
        • 1970-01-01
        • 2011-10-06
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多