¿Cómo puedo guardar una imagen (como usar el método UIImageWriteToSavedPhotosAlbum()) con un nombre de archivo de mi elección en la carpeta privada/var?UIImage Guardar imagen con nombre de archivo en el iPhone
12
A
Respuesta
17
¡Kenny, usted tenía la respuesta! Por ejemplo, siempre pienso que el código es más útil.
//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];
10
UIImageWriteToSavedPhotosAlbum()
solo se usa para guardar fotos en el rollo de la cámara. Para guardar en una carpeta personalizada, debe convertir el UIImage en NSData con UIImageJPEGRepresentation()
o UIImagePNGRepresentation()
, luego guarde este NSData en el lugar que desee.
+0
Kenny, gracias. +1 – erastusnjuki
0
Puede utilizar a continuación el código, sin el uso de 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;
}
Cuestiones relacionadas
- 1. Guardar imagen en sandbox desde UIImage en iPhone
- 2. iPhone - Guardar UIImage en el escritorio en el simulador
- 3. (iPhone) Usar imagen externa en UIImage imageNamed
- 4. ¿Cómo guardar UIImage en el archivo con NSFileManager?
- 5. iphone, al guardar la imagen con "renderInContext" en el dispositivo, ¿la imagen está borrosa?
- 6. iphone - solo UIImage UIImageView múltiple?
- 7. Desactivar el menú 'guardar imagen' en iPhone con Javascript
- 8. Recortar un UIImage en iPhone
- 9. Guardar archivo Javascript con el nombre de archivo
- 10. iPhone - falla al guardar una imagen de la cámara en el álbum de iPhone
- 11. Guardar archivo con el nuevo nombre de archivo: anexar al nombre de archivo existente
- 12. iPhone: Blur UIImage
- 13. Conversión de UIImage en archivo PDF
- 14. Guardar imagen en biblioteca personalizada
- 15. iOS: Guardar imagen con resolución personalizada
- 16. Guardar UIImage, cargarlo en una orientación incorrecta
- 17. iPhone UIWebview - Guardar una imagen ya descargada
- 18. iPhone SDK - ¿Cómo dibujar un UIImage en otro UIImage?
- 19. Guardar y recuperar un UIImage en CoreData
- 20. Guardar UIImage al álbum de fotos con writeImageToSavedPhotosAlbum
- 21. imagen JPG no se carga con UIImage imageNamed
- 22. Guardar archivo en Android con espacios en el nombre de archivo
- 23. guardar el gráfico en el archivo de imagen en matlab: diferencia entre guardar e imprimir
- 24. Inicializar un UIImage con la ruta de una imagen
- 25. UIImage de CALayer - iPhone SDK
- 26. Django: ¿Cómo guardar el nombre de archivo original en FileField?
- 27. ¿Cómo configuro el nombre predeterminado 'guardar imagen como' para una imagen generada en PHP?
- 28. Imagen con el navegador sin guardar
- 29. guardar/exportar archivo de imagen desde el contenido html?
- 30. iPhone: ¿Cómo puedo almacenar UIImage usando NSUserDefaults?
Un ejemplo de guardar en la carpeta de documentos NSArray * paths = NSSearchPathForDirectoriesInDomains (NSDocumentDirectory, NSUserDomainMask, YES); NSString * documentsDirectory = [paths objectAtIndex: 0]; NSString * filePath2 = [NSString stringWithFormat: @ "% @ /% @. Jpg", documentsDirectory, fileName]; NSData * imageData = UIImageJPEGRepresentation (drawImage.image, 1.0); [imageData writeToFile: filePath2 atómicamente: NO]; –
[imageData writeToFile: @ "/ private/var/mobile/Media/DCIM/100APPLE/customImageFilename.jpg" atómicamente: NO]; ¿Qué es esta carpeta privada/var/mobile? ¿Es este un lugar estándar para escribir un archivo en ios? – user798719
La pregunta es, si Apple permitirá una aplicación con ese código ... http://stackoverflow.com/questions/2884003/will-the-app-get-rejected-if-you-write-image-to-private -var-mobile-media-dcim-1? lq = 1 –