2012-04-06 122 views
2

我要下载文件从远程到临时文件夹iPhone文件系统操作问题

的文件夹,如远程:

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 

终于消除tempfolder

所有文件,所以我的问题是:

  1. 怎么从服务器下载文件多的最佳方式? (最好显示ASIHTTPRequest,这是可以给我另外的方式)

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

  3. 如何将整个临时文件夹内容复制到永久文件夹?是否有可能通过像OS X上的拷贝这样的操作来完成此操作?

  4. 此外,就像在OS X上删除操作一样,删除临时文件夹?

谢谢!

回答

0

1 /您最好使用AFNetworkASIHTTPRequest正在变老,不再维持。 AFNetwork更现代化,并与块(“嗯,块”,就像荷马会说)。这里有很多例子,只是搜索。

具体来说,AFNetwork允许你把下载操作的NSOperationQueue,你可以在你的意志处理,让我们说,下载35个文件并行,在同一时间最多不超过4个运行下载,并报告你什么时候一切都完成了。

2,3,4查看参考文献NSFileManager。你所需要的就是在那里。

-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]; 

以下代码是删除文件形成临时

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