十年网站开发经验 + 多家企业客户 + 靠谱的建站团队
量身定制 + 运营维护+专业推广+无忧售后,网站问题一站解决
最近干活要用到操作本地沙盒的文件的一些东西,总结一下 包活图片和视频 获取document文件夹的文件列表 NSArray *paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory,NSUserDomainMask, YES); NSString *plantId = [[DSPKeychainServiceManager sharedManager] getPlantId]; //并给文件起个文件名 NSString *p_w_picpathDir = [[[paths objectAtIndex:0] stringByAppendingPathComponent:@"SMSPictures"] stringByAppendingPathComponent:plantId]; [[NSFileManager defaultManager] createDirectoryAtPath:p_w_picpathDir withIntermediateDirectories:YES attributes:nil error:nil]; // 获取图片列表 NSError *error_img; NSArray *fileList_img = [[NSArray alloc] init]; //fileList_img便是包含有该文件夹下所有文件的文件名及文件夹名的数组 fileList_img = [[NSFileManager defaultManager] contentsOfDirectoryAtPath:p_w_picpathDir error:&error_img]; NSMutableArray *dirArray_img = [[NSMutableArray alloc] init]; BOOL isDir_img = NO; //在上面那段程序中获得的fileList中列出文件夹名 for (NSString *file in fileList_img) { NSString *path = [p_w_picpathDir stringByAppendingPathComponent:file]; [[NSFileManager defaultManager] fileExistsAtPath:path isDirectory:(&isDir_img)]; if (!isDir_img) { [dirArray_img addObject:file]; } } 获取视频的缩略图------->(从别家大牛那里转来的) 原文地址:http://blog.sina.com.cn/s/blog_6d01cce301019xym.html 第一种: +(UIImage *)getImage:(NSString *)vi deoURL { AVURLAsset *asset = [[AVURLAsset alloc] initWithURL:[NSURL fileURLWithPath:videoURL] options:nil]; AVAssetImageGenerator *gen = [[AVAssetImageGenerator alloc] initWithAsset:asset]; gen.appliesPreferredTrackTransform = YES; CMTime time = CMTimeMakeWithSeconds(0.0, 600); NSError *error = nil; CMTime actualTime; CGImageRef p_w_picpath = [gen copyCGImageAtTime:time actualTime:&actualTime error:&error]; UIImage *thumb = [[UIImage alloc] initWithCGImage:p_w_picpath]; CGImageRelease(p_w_picpath); return thumb; } 第二种: 需要添加AVFoundation和CoreMedia.framework MPMoviePlayerController *moviePlayer = [[MPMoviePlayerController alloc]initWithContentURL:videoURL]; moviePlayer.shouldAutoplay = NO; UIImage *thumbnail = [moviePlayer thumbnailImageAtTime:time timeOption:MPMovieTimeOptionNearestKeyFrame]; 下面这个也一样 +(UIImage *)fFirstVideoFrame:(NSString *)path { MPMoviePlayerController *mp = [[MPMoviePlayerController alloc] initWithContentURL:[NSURL fileURLWithPath:path]]; UIImage *img = [mp thumbnailImageAtTime:0.0f timeOption:MPMovieTimeOptionNearestKeyFrame]; return img; }