2012-04-06 157 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];