在iPhone上我想检查,如果网站上的特定文件(test.licence)exsists。我的方法(到目前为止)是下载文件并检查它是否存在于我的Documents目录中。但是,如果文件不存在,Apache会提供一个HTML错误页面(我下载而不是test.licence)。检查文件大小是一个模糊的解决方案,因为它有所不同。检查网站上的文件是否存在
那么,如果在线文件存在(而不是更多),我该如何检查?我正在寻找一个简单而干净的解决方案。
问候,
斯特凡
在iPhone上我想检查,如果网站上的特定文件(test.licence)exsists。我的方法(到目前为止)是下载文件并检查它是否存在于我的Documents目录中。但是,如果文件不存在,Apache会提供一个HTML错误页面(我下载而不是test.licence)。检查文件大小是一个模糊的解决方案,因为它有所不同。检查网站上的文件是否存在
那么,如果在线文件存在(而不是更多),我该如何检查?我正在寻找一个简单而干净的解决方案。
问候,
斯特凡
通过NSURLConnection
提交NSURLRequest
。当你收到回应时,检查状态码是200(它在那里),404(不是)或别的东西(发生了不同的事情)。
404错误代码是查看页面是否存在的正确方法,但如果您打算在UIWebView中显示页面,则需要检查页面是否存在,并且如果它存在如果你这样做,你会冒险显示Apache错误页面)。
为了不耗尽带宽两次,对于第一次完整性检查以查看文件是否存在,您可以执行HEAD请求,该请求仅抓取HTTP标头,而不抓取页面正文。只需将其添加到您的代码中(假设urlRequest类型为NSURLRequest):
[urlRequest setHTTPMethod:@"HEAD"];
智能解决方案。谢谢 ... – Stefan 2010-06-27 17:00:29