下载并解压缩一个 *.tgz 文件到“文档”目录的子目录下。

5

很可能已经有关于这个问题的解答在SO上了,但我对压缩格式不够熟悉,不知道它们是否适用于我的情况。所以这就是我需要的:

1)下载一个大于200MB的*.tgz文件。 2)将其解压到Documents文件夹的指定子目录中。

我知道如何建立连接并开始下载。但是如何下载到实际文件(而不是存储在内存中),一旦下载完成,如何将其解压到我想要的位置?

2个回答

0

若要将下载的数据保存到文件中,请参见此 SO 问题和答案:将 NSData 写入文件的最简单方法

如需解压缩 .tgz 文件,请查看此问题和答案:"在 iPhone 上"解 tar 文件

如需下载大型文件,请查看此问题和答案:如何在 iPhone 上使用 objective-c 下载大型文件

(Google 是一个很棒的工具。)

作为旁注,应用程序不应下载 200MB 的数据。这会占用时间和带宽,并可能导致 Apple 拒绝您的应用程序。


谢谢。我确实花了时间寻找答案,但我的问题之一是我没有必要的词汇(例如,我不知道“untar”是解压缩tgz的术语)。 - maxedison
关于你的附注,你能推荐一个关于应用提交问题的提问平台吗?我的公司制作桌面软件。这个应用只是我们客户的免费附加功能。它包含了很多音频(因此文件很大),如果没有这些音频,这个应用就毫无用处。我在<a href="https://developer.apple.com/icloud/documentation/data-storage/">这里</a>看到有几个选项可以指定哪些文件不需要备份到iCloud。你知道这是否会消除基于需要下载大量数据而被拒绝的风险吗? - maxedison
这取决于向用户提供下载的描述,我认为。但是,我不是合适的人来回答这个问题,所以我建议您就此发布另一个问题 :) 另外,如果这个问题对您有帮助,我会很感激您通过点击答案旁边的✔来投票或接受它 :) - Emil
1
我已经点赞了。今晚我会有机会尝试一下你链接的东西,届时我想我会接受你的回答作为答案。 - maxedison

0

忘记使用 NSURLConnection,改用 ASIHTTPConnection(谷歌一下),它有一个易于保存文件的选项。(而且还可以恢复下载失败)

我不知道 tar/gzip 的答案。我的应用程序使用 zip 文件,http://code.google.com/p/ziparchive/wiki/PageName 可以解决问题。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接