我正在尝试创建一个应用程序,可以从媒体选择器中保存用户的媒体选择以便重复使用,并避免重新选择项目。有没有办法使用媒体选择器或任何示例代码执行此操作?
答案 0 :(得分:2)
执行此操作的唯一方法是将媒体选择保存在应用程序的沙箱中,即文档目录中以便重复使用。因为,您无法在没有用户干预的情况下访问媒体,即每当您想从图库中选择某些内容时,您都必须提供媒体选择器。你可以使用这样的东西在app的doc目录中保存图像:
+(BOOL)saveImageInDocumentsDirectory:(UIImage*)image WithName:(NSString*)name {
NSArray *paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES);
NSString *documentsDirectory = [paths objectAtIndex:0];
NSString *savedImagePath = [documentsDirectory stringByAppendingPathComponent:name];
NSData *imageData = UIImagePNGRepresentation(image);
return [imageData writeToFile:savedImagePath atomically:NO];
}
并检索图像:
+(UIImage*)getImageFromDocumentsDirectoryWithName:(NSString*)name {
NSArray *paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES);
NSString *documentsDirectory = [paths objectAtIndex:0];
NSString *savedImagePath = [documentsDirectory stringByAppendingPathComponent:name];
return [[[UIImage alloc] initWithContentsOfFile:savedImagePath] autorelease];
}
希望它会有所帮助。