IOS сохранить аудио и видео URL в каталог документов

Мне нужно сохранить все аудио и видео URL-адреса в каталог документов, который приходит с сервера. я пробовал пример кода

NSData *urlData = [NSData dataWithContentsOfURL:[NSURL URLWithString: "http://www.ebookfrenzy.com/ios_book/movie/movie.mp4"]];
NSArray *paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES);
NSString  *documentsDirectory = [paths objectAtIndex:0];
NSString *dataPath_ = [documentsDirectory stringByAppendingPathComponent:@"/MyFolder"];
NSString *newStr = [@"test" stringByAppendingString:[NSString stringWithFormat:@".mp4"]];
NSString *FilePath = [NSString stringWithFormat:@"%@/%@",dataPath_,newStr];
[urlData writeToFile:FilePath atomically:YES];

Папка создается в папке с документами, но видео не сохраняется в папке. Может кто-нибудь помочь разобраться с этим.

1 ответ

Решение

Вы должны правильно построить путь и выполнить базовую проверку ошибок:

NSData *urlData = [NSData dataWithContentsOfURL:[NSURL URLWithString: @"http://www.ebookfrenzy.com/ios_book/movie/movie.mp4"]];
if (urlData) {
    NSArray *paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES);
    NSString *documentsDirectory = [paths objectAtIndex:0];
    NSString *dataPath = [documentsDirectory stringByAppendingPathComponent:@"MyFolder"];
    // Create folder if needed
    [[NSFileManager defaultFileManager] createDirectoryAtPath:dataPath withIntermediateDirectories:YES attributes:nil error:nil];

    NSString *filePath = [dataPath stringByAppendingPathComponent:@"test.mp4"];
    if ([urlData writeToFile:filePath atomically:YES]) {
        // yeah - file written
    } else {
        // oops - file not written
    }
} else {
    // oops - couldn't get data
}
Другие вопросы по тегам