我想将文件从远程文件夹下载到临时文件夹
遥控器上的文件夹,如:
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中的所有文件
所以我的问题是:
从服务器下载多个文件的最佳方法是什么? (最好显示ASIHTTPRequest,可以通过其他方式向我展示)
创建整个文件夹结构的简便方法?我是否必须通过“/”拆分文件夹路径并检查每个级别路径是否存在并创建它?
如何将整个临时文件夹内容复制到永久文件夹?是否可以通过OS X上的复制等操作执行此操作?
另外,像在OS X上删除操作一样,一次删除临时文件夹?
谢谢!
答案 0 :(得分:0)
1 /你最好使用AFNetwork
。 ASIHTTPRequest
正在变老,不再维持。 AFNetwork
更现代,适用于块(“嗯,块”,就像荷马所说的那样)。这里有很多例子,只是搜索。
具体来说,AFNetwork
允许您将下载操作放在NSOperationQueue
中,您可以随意处理下载操作,比如说,并行下载35个文件,最多可以下载4个文件同时,并在完成所有工作后向您汇报。
2,3,4 /看看NSFileManager
的参考。你所需要的就是那里。
答案 1 :(得分:-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];