Convert UIImage to NSData and save with core data

前端 未结 8 935
不知归路
不知归路 2021-01-30 18:43

I have a UIImageView whose image gets set via UIImagePicker

- (void)imagePickerController:(UIImagePickerController *)picker didFinishPi         


        
8条回答
  •  暗喜
    暗喜 (楼主)
    2021-01-30 18:58

    For storing in database:::

            NSInteger RandomIndex = arc4random() % 1000; 
            NSString *randomImageName =[NSString stringWithFormat:@"Image%i.png",RandomIndex]; 
            NSArray *paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES);
            NSString *documentsDirectory = [paths objectAtIndex:0];
            NSString *savedImagePath = [documentsDirectory stringByAppendingPathComponent:randomImageName];
            if ([[NSFileManager defaultManager] fileExistsAtPath:savedImagePath]) {
                [[NSFileManager defaultManager] removeItemAtPath:savedImagePath error:nil];
                NSLog(@"file removed from path");
            }
            NSLog(@"Saved Image Path : %@",savedImagePath);
             NSData* imageData = UIImagePNGRepresentation (image1 ); 
            [imageData writeToFile:savedImagePath atomically:YES];
    
             //am is a pointer to my entities class. imageData is just a NSString attribute
            am.imageData = randomImageName;
    

    When you get that image from data base, you can write following code...

    NSArray *paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES);
            NSString *documentsDirectory = [paths objectAtIndex:0];
            NSString *savedImagePath = [documentsDirectory stringByAppendingPathComponent:randomImageName];
    NSData *myData = [NSData dataWithContentsOfFile:savedImagePath];
            UIImage *selectedImage = [UIImage imageWithData:myData];
    

    I think it is helpful to you.

提交回复
热议问题