很可能已经有关于这个问题的解答在SO上了,但我对压缩格式不够熟悉,不知道它们是否适用于我的情况。所以这就是我需要的:
1)下载一个大于200MB的*.tgz文件。 2)将其解压到Documents文件夹的指定子目录中。
我知道如何建立连接并开始下载。但是如何下载到实际文件(而不是存储在内存中),一旦下载完成,如何将其解压到我想要的位置?
很可能已经有关于这个问题的解答在SO上了,但我对压缩格式不够熟悉,不知道它们是否适用于我的情况。所以这就是我需要的:
1)下载一个大于200MB的*.tgz文件。 2)将其解压到Documents文件夹的指定子目录中。
我知道如何建立连接并开始下载。但是如何下载到实际文件(而不是存储在内存中),一旦下载完成,如何将其解压到我想要的位置?
若要将下载的数据保存到文件中,请参见此 SO 问题和答案:将 NSData 写入文件的最简单方法
如需解压缩 .tgz 文件,请查看此问题和答案:"在 iPhone 上"解 tar 文件
如需下载大型文件,请查看此问题和答案:如何在 iPhone 上使用 objective-c 下载大型文件
(Google 是一个很棒的工具。)
作为旁注,应用程序不应下载 200MB 的数据。这会占用时间和带宽,并可能导致 Apple 拒绝您的应用程序。
忘记使用 NSURLConnection,改用 ASIHTTPConnection(谷歌一下),它有一个易于保存文件的选项。(而且还可以恢复下载失败)
我不知道 tar/gzip 的答案。我的应用程序使用 zip 文件,http://code.google.com/p/ziparchive/wiki/PageName 可以解决问题。