写真を撮ったり、ライブラリを介して追加したり、同じ画像をサーバーに保存したりするアプリを作成しています。
以下は私が持っているものです
#pragma mark - UIImagePickerControllerDelegate
- (void)imagePickerController:(UIImagePickerController *)picker didFinishPickingMediaWithInfo:(NSDictionary *)info
{
photoTaken = @"YES";
btnImage = [info objectForKey:UIImagePickerControllerEditedImage];
[btnImage setAccessibilityIdentifier:@"newImage"] ;
[self.takePhoto setImage:btnImage forState:UIControlStateNormal];
UIImageWriteToSavedPhotosAlbum(btnImage, nil, nil, nil);
[self.navigationController dismissViewControllerAnimated:YES completion:nil];
}
この質問の回答UIImageWriteToSavedPhotosAlbum(btnImage, nil, nil, nil);
に従って、サーバーに画像を保存する場合はファイル名が必要になるため、コードを使用してiPhoneに画像を保存しています。
したがって、使用中にファイル名を付ける方法を知りたいですUIImageWriteToSavedPhotosAlbum
。
どんなアイデア/提案も大歓迎です。
イメージ名が必要な理由は、上記のリンクの回答に従ってそのイメージ名を提供する必要があるためです。
編集 1
それ以外の場合は、アプリにその画像を使用できるように、(他の式を使用して) 何らかの名前で画像を保存する方法を教えてください。
編集 2
以下で試しました。それでも機能しません。
- (void)imagePickerController:(UIImagePickerController *)picker didFinishPickingMediaWithInfo:(NSDictionary *)info
{
photoTaken = @"YES";
btnImage = [info objectForKey:UIImagePickerControllerEditedImage];
[btnImage setAccessibilityIdentifier:@"newImage"] ;
[self.takePhoto setImage:btnImage forState:UIControlStateNormal];
NSData *data = UIImagePNGRepresentation(btnImage);
[data writeToFile:@"http://www.mysite.com/sama/myImages/newImage.png" atomically:YES];
// I tried below also (thinking it will save on local)
// [data writeToFile:@"newImage.png" atomically:YES];
[self.navigationController dismissViewControllerAnimated:YES completion:nil];
}