UIImmagine Salvataggio di un’immagine con il nome del file su iPhone

Come posso salvare un’immagine (come usare il metodo UIImageWriteToSavedPhotosAlbum ()) con un nome di file a mia scelta nella cartella private / var?

Kenny, hai avuto la risposta! Per esempio, penso sempre che il codice sia più utile.

//I do this in the didFinishPickingImage:(UIImage *)img method NSData* imageData = UIImageJPEGRepresentation(img, 1.0); //save to the default 100Apple(Camera Roll) folder. [imageData writeToFile:@"/private/var/mobile/Media/DCIM/100APPLE/customImageFilename.jpg" atomically:NO]; 

UIImageWriteToSavedPhotosAlbum() viene utilizzato solo per il salvataggio nel rullino fotografico delle foto. Per salvare in una cartella personalizzata, è necessario convertire UIImage in NSData con UIImageJPEGRepresentation() o UIImagePNGRepresentation() , quindi salvare questo NSData in qualsiasi luogo.

Puoi usare sotto il codice, senza usare ALAssetsLibrary …

 NSString *fileName; - (void)imagePickerController:(UIImagePickerController *)picker didFinishPickingMediaWithInfo:(NSDictionary *)info { [picker dismissViewControllerAnimated:YES completion:^{ if( [picker sourceType] == UIImagePickerControllerSourceTypeCamera ) { UIImageWriteToSavedPhotosAlbum(image,nil, nil, nil); [self performSelector:@selector(GetImageName) withObject:nil afterDelay:0.5]; } else { NSURL *refURL = [info valueForKey:UIImagePickerControllerReferenceURL]; PHFetchResult *result = [PHAsset fetchAssetsWithALAssetURLs:@[refURL] options:nil]; fileName = [[result firstObject] filename]; } }]; -(void)GetImageName { NSString *str [email protected]""; PHFetchOptions *fetchOptions = [[PHFetchOptions alloc] init]; fetchOptions.sortDescriptors = @[[NSSortDescriptor sortDescriptorWithKey:@"creationDate" ascending:YES]]; PHFetchResult *fetchResult = [PHAsset fetchAssetsWithMediaType:PHAssetMediaTypeImage options:fetchOptions]; if (fetchResult != nil && fetchResult.count > 0) { str = [[fetchResult lastObject] filename]; } fileName = str; }