繁体   English   中英

iPhone文件系统操作题

[英]iPhone File system operation questions

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

远程文件夹如:

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 上删除操作一样,一次性删除临时文件夹?

谢谢!

1/ 你最好使用AFNetwork ASIHTTPRequest变老了,不再维护。 AFNetwork更现代,并且可以使用块(“嗯,块”,就像 Homer 会说的那样)。 例子很多,自己搜索吧。

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

2, 3, 4/ 查看NSFileManager的参考资料。 您需要的一切都在那里。

您所有文件的创建.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];

下载后将文件夹移动到文档目录。

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

以下代码是从临时文件中删除文件

[[NSFileManager defaultManager] removeItemAtPath:filePath error:nil];

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM