2016-11-08 172 views
1

我想要在文件夾「tracks」中的documentsDirectory中下載一個文件。但是如果我使用這個代碼(在文檔目錄中下載文件)。所有做工精細如何從文件夾下載文件?

NSArray *paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES); 
NSString *documentsDirectory = [paths objectAtIndex:0]; 
NSString *filePath = [documentsDirectory stringByAppendingPathComponent:@"Chapter.mp3"]; 
BOOL fileExists = [[NSFileManager defaultManager] fileExistsAtPath:filePath isDirectory:false]; 

NSString *stringURL = @"link"; 
NSURL *url = [NSURL URLWithString:stringURL]; 
NSData *urlData = [NSData dataWithContentsOfURL:url]; 
[urlData writeToFile:filePath atomically:YES]; 

如果我(在文件夾「軌道」文件下載在documentsDirectory)使用此代碼文件沒有下載

NSArray *paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES); 
NSString *documentsDirectory = [paths objectAtIndex:0]; 
NSString *filePath = [documentsDirectory stringByAppendingPathComponent:@"tracks/Chapter.mp3"]; 
BOOL fileExists = [[NSFileManager defaultManager] fileExistsAtPath:filePath isDirectory:false]; 

NSString *stringURL = @"link"; 
NSURL *url = [NSURL URLWithString:stringURL]; 
NSData *urlData = [NSData dataWithContentsOfURL:url]; 
[urlData writeToFile:filePath atomically:YES]; 

如何在文件夾中下載文件documentsDirectory「軌道」 ?

+0

嘗試添加;如果(![fileManager fileExistsAtPath:filePath isDirectory:&isDir]) 如果(![fileManager createDirectoryAtPath:filePath withIntermediateDirectories:YES attributes:nil error:NULL]) NSLog(@「Error:Create folder failed%@」,directory); –

回答

0

音軌文件夾可能還不存在。你需要這樣的東西:

NSError *error = nil; 
NSString *tracksPath = [documentsDirectory stringByAppendingPathComponent:@"tracks]; 
if (![[NSFileManager defaultManager] fileExistsAtPath:tracksPath]) { 
    [[NSFileManager defaultManager] createDirectoryAtPath:tracksPath withIntermediateDirectories:NO attributes:nil error:&error]; 
} 
+0

如果我在'viewDidLoad'文件夾中使用此代碼(對象)(章節)不會替換空文件夾? – user

+0

該代碼調用'fileExistsAtPath'來查看它是否需要創建文件夾。如果它已經在那裏,它什麼都不做。 –

相關問題