Получение пути к фото и видео файлу и сохранение в sqlite - PullRequest
0 голосов
/ 19 июля 2011

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

-(IBAction) getPhoto:(id) sender {
    UIImagePickerController * UIPicker = [[UIImagePickerController alloc] init];
    UIPicker.delegate = self;



    if([UIImagePickerController isSourceTypeAvailable:UIImagePickerControllerSourceTypePhotoLibrary])
    {


        UIPicker.sourceType = UIImagePickerControllerSourceTypePhotoLibrary;
        [self presentModalViewController:UIPicker animated:YES];
    }
    else {
        UIAlertView *alert = [[UIAlertView alloc] initWithTitle:nil message:@"Error" delegate:self cancelButtonTitle:@"Cancel" otherButtonTitles:nil];
        [alert show];
        [alert release];
    }
}


- (void)imagePickerController:(UIImagePickerController *)picker didFinishPickingMediaWithInfo:(NSDictionary *)info {


    [picker dismissModalViewControllerAnimated:YES];
    imageView.image = [info objectForKey:@"UIImagePickerControllerOriginalImage"];
}

Я думаю, что люди помогут мне заранее Спасибо

Ответы [ 4 ]

2 голосов
/ 19 июля 2011
 NSData *imageData = UIImagePNGRepresentation(sample);
NSData *myImage=[[NSData alloc]initWithData:imageData];
NSArray *paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES);
NSString *documentsDirectory = [paths objectAtIndex:0];
NSString *fullPathToFile = [documentsDirectory stringByAppendingPathComponent:[NSString stringWithFormat:@"Image%d.png",i]];
[myImage writeToFile:fullPathToFile atomically:YES];
[myImage release];

Надеюсь, этот код поможет. Где я - целое число, которое может принимать любые значения 1,2,3 .... увеличивайте i каждый раз, чтобы избежать перезаписи изображений. Теперь вы можете хранить много изображений без проблем с перезаписью. Если вы хотите сохранить разные изображения даже после закрытия приложения, вы можете использовать NSUSerDefaults для сохранения последнего значения i.

NSString *myImage=[NSString stringWithFormat:@"Image%d",i];

После этого увеличьте значение i на 1. Затем используйте строку myImage, чтобы сохранить ее в базе данных sqlite. Надеюсь, это поможет.

Link1 Link2

0 голосов
/ 19 июля 2011
NSArray *sysPaths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask,YES);
NSString *docDirectory = [sysPaths objectAtIndex:0];


    NSString *filePath = [NSString stringWithFormat:@"%@/%@", docDirectory,@"ImageName.png"];
    awesomeView = [[UIImageView alloc] initWithFrame:CGRectMake(10, 10,60,60 )];
    awesomeView.image =[UIImage imageWithContentsOfFile:filePath];
    [mainView addSubview:awesomeView];
    [awesomeView release];

Вы можете использовать этот код, чтобы извлечь изображение из папки документов и отобразить его в UIImageView.Вы можете просто сохранить имя файла в sqlite.Используя это, вы можете заменить @ "image.png" на имя файла, полученное из базы данных.Надеюсь, это поможет.

0 голосов
/ 19 июля 2011

Вам необходимо сохранить изображение в каталоге документов с помощью NSFileManager. Поиск по Google или StackOverflow вы найдете много учебников. Затем вы сохраняете этот путь в sqlite, вот и все. Я предлагаю вам использовать Уникальный идентификатор для каждого изображения, которое вы также можете найти в этом фрагменте кода в goole или stackoverflow.

0 голосов
/ 19 июля 2011

Проверьте UIImagePickerControllerReferenceURL в UIImagePickerControllerDelegate .

Это даст путь к файлу.

Но я рекомендую сохранить это изображение в другом месте с помощью NSFileManager и сохранить этот файлпуть в вашем sqlite, так как изображение может быть удалено другими способами.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...