我有一个URL,其中包含图像和音频文件。我正在使用以下代码将图像和音频文件下载到文档目录:
// 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 :(得分: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");
答案 1 :(得分:1)
如果您从阵列中分离出来,请执行以下操作:
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);
}
}