最近干活要用到操作本地沙盒的文件的一些东西,总结一下 包活图片和视频
获取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;
}
本文名称:iOS关于获取沙盒文件的一些总结
本文来源:
http://kswsj.cn/article/pdjjhd.html