2

我想将文件从远程下载到临时文件夹

远程文件夹如:

http://remoteserver.com/abc/def/file1.txt
http://remoteserver.com/abc/file2.png
http://remoteserver.com/abc/pla/mnb/file3.html

文件夹结构如下:

tmpefolder/abc/def/file1.txt
tmpefolder/abc/file2.png
tmpefolder/abc/pla/mnb/file3.html

然后下载后,将文件移动到永久文件夹,并保持相同的文件夹结构

permanentfolder/abc/def/file1.txt
permanentfolder/abc/file2.png
permanentfolder/abc/pla/mnb/file3.html

最后删除临时文件夹中的所有文件

所以我的问题是:

  1. 从服务器下载多个文件的最佳方法是什么?(最好显示 ASIHTTPRequest,可以显示其他方式)

  2. 创建整个文件夹结构的简单方法?我是否必须通过“/”拆分文件夹路径并检查每个级别路径是否存在并创建它?

  3. 如何将整个临时文件夹内容复制到永久文件夹?是否可以通过 OS X 上的复制等操作来做到这一点?

  4. 另外,像 OS X 上的删除操作,一键删除临时文件夹?

谢谢!

4

2 回答 2

0

1/ 你最好使用AFNetwork. ASIHTTPRequest正在变老,不再维护。AFNetwork更现代,并且可以使用积木(“嗯,积木”,就像荷马所说的那样)。这里有很多例子,只需搜索即可。

具体来说,AFNetwork允许您将下载操作放在一个NSOperationQueue中,您可以随意处理,例如并行下载 35 个文件,最多同时运行 4 个下载,并在一切完成后向您报告。

2, 3, 4/ 看一下NSFileManager. 你需要的一切都在那里。

于 2012-04-06T07:36:12.033 回答
-1

创建所有文件的 .zip 使用以下代码下载 .zip 表单服务器。这将在 NSTemporaryDirectory 中创建您的文件夹。

 NSString *filePath = [NSString stringWithFormat:@"%@/FILENAME.zip",NSTemporaryDirectory()];
 [[NSFileManager defaultManager] createFileAtPath:filePath contents:[NSData dataWithContentsOfURL:[NSURL URLWithString:[obj valueForKey:@"zip_path"]]] attributes:nil];

下载后将文件夹移动到documentDirectory。

[[NSFileManager defaultManager] moveItemAtPath:filePath toPath:[NSHomeDirectory() stringByAppendingPathComponent:@"Documents"] error:nil];

以下代码是从 temp 中删除文件

[[NSFileManager defaultManager] removeItemAtPath:filePath error:nil];
于 2012-04-06T10:21:31.337 回答