2013-02-22 2 views
0

У меня есть URL-адрес, в котором содержатся изображения и аудиофайлы. Я загрузка изображений и аудио файлов в каталог документов с помощью код ниже:Как изменить содержимое URL-адреса в iOS?

// urlsArray contains the list of images and audio urls 

for(int i= 0 ;i<[urlsArrray count]; i++) 
     { 

     NSString *urlString = [urlsArrray objectAtIndex:i]; 
     NSString *escapedUrlString = [urlString    stringByAddingPercentEscapesUsingEncoding:NSUTF8StringEncoding]; 
    NSURL *url = [NSURL URLWithString:escapedUrlString]; 
    NSData *fileData=[NSData dataWithContentsOfURL:url]; 
    NSString *urlstring1 = [url absoluteString]; 
    NSArray *parts = [urlstring1 componentsSeparatedByString:@"/"]; 
    NSString *fileName = [parts objectAtIndex:[parts count]-1]; 

    NSFileManager *fileManager = [NSFileManager defaultManager]; 
    NSArray *paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES); 
    NSString *documentsDir = [paths objectAtIndex:0]; 
    NSString *savedImagePath = [documentsDir stringByAppendingPathComponent:fileName]; 
    [fileManager createFileAtPath:savedImagePath contents:fileData attributes:nil]; 

    NSLog(@"files Stored Path is %@",savedImagePath); 

Теперь я хочу, чтобы отделить изображения и аудиофайлы. Я хочу загрузить изображения в каталог документов и аудиофайлы в кеш-каталог.

+0

Вы хотите отделить от этого массив urlsArrray или из документа? – Vishal

ответ

1

Просто добавьте следующий код, чтобы распознать файл, является ли это изображение или аудио файл

CFStringRef fileExtension = (CFStringRef) [file pathExtension]; 
CFStringRef fileUTI = UTTypeCreatePreferredIdentifierForTag(kUTTagClassFilenameExtension, fileExtension, NULL); 

if (UTTypeConformsTo(fileUTI, kUTTypeImage)) NSLog(@"It's an image"); 
else if (UTTypeConformsTo(fileUTI, kUTTypeMovie)) NSLog(@"It's a movie"); 
else if (UTTypeConformsTo(fileUTI, kUTTypeText)) NSLog(@"It's text"); 
else NSLog(@"It's audio"); 
+0

Извините, в моем Xcode мы не получаем UTTypeCreatePreferredIdentifierForTag (kUTTagClassFilenameExtension, fileExtension, NULL); , всякий раз, когда мы используем этот метод, мы получили некоторую ошибку: функция недействительна в c99. если вы не возражаете, скажите, как решить вышеуказанную проблему. @ "V-Xtreme" –

+0

@ChandraSekhar: UTTypeCreatePreferredIdentifierForTag определен в MobileCoreServices.framework. Вы должны импортировать его на фазах сборки. Также импортируйте #import в свой файл –

1

OK, если вы отдельно от массива, то сделать, как показано ниже:

imagelist = [[NSMutableArray alloc]init]; 
videolist = [[NSMutableArray alloc]init]; 

    for(int i = 0;i<urlsArrray.count;i++) 
    { 
    id arrayElement = [fileArray objectAtIndex:i]; 
    if([arrayElement rangeOfString:@".mp3" ].location !=NSNotFound) 
    { 
    [videolist addObject:arrayElement]; 
     NSLog(@"videolist..%@",videolist); 
    } 
    else([arrayElement rangeOfString:@".png"].location !=NSNotFound) 
    { 
    [imagelist addObject:arrayElement]; 
    NSLog(@"imagelist..%@",imagelist); 
    } 
} 
+0

Здесь не нужно, чтобы формат файлов исправлены. Это могут быть mp3, wav или любые другие. –

+0

imagelist & videolist - это два непревзойденных массива, объявляющих оба файла .h ... – Vishal

+0

@ V-Xtreme ... мы также можем сохранить другие параметры и условия ... – Vishal

Смежные вопросы