2016-11-08 171 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'来查看它是否需要创建文件夹。如果它已经在那里,它什么都不做。 –

相关问题