使用目标c将文件从Internet保存到mac osx中的硬盘

时间:2013-01-15 04:15:20

标签: objective-c macos url download

我如何使用目标c在mac os x中从互联网上下载文件我在copyItemAtURL:toURL:error:中尝试使用NSFileManager方法,但没有用。域名是公共的,因此无需身份验证。

1 个答案:

答案 0 :(得分:1)

NSFileManager不支持HTTP网址。您需要使用NSURLConnection类来执行HTTP请求。

如果要执行同步HTTP请求(例如,对于控制台应用程序或GUI应用程序的后台线程),则基本工作流程为:

  1. 为您所需的网址构建NSURLRequest
  2. 致电+[NSURLConnection sendSynchronousRequest:returningResponse:error:]
  3. 致电-[NSFileManager createFileAtPath:contents:attributes:],将结果NSData保存到您想要的目标文件中。
  4. 如果您需要执行异步请求,则会更复杂一些。在这种情况下,您将创建一个符合NSURLConnectionDelegate协议的对象,将其设置为NSURLConnection对象的委托,并执行请求。完成后,然后将其保存到文件系统中,如上所述。详细信息留给读者练习。