1

画像がアプリケーションに表示されるようになったので、ギャラリーから画像を取得していますが、同時にその画像をドキュメントディレクトリに保存したい

そのために私は以下のコードを使用しています

-(void)imagePickerController:(UIImagePickerController *)picker
      didFinishPickingImage : (UIImage *)image
                 editingInfo:(NSDictionary *)editingInfo
{
    selectImage.image = image;
    NSArray *paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory,NSUserDomainMask, YES);
    NSString *documentsDirectory = [paths objectAtIndex:0];
    NSString* path = [documentsDirectory stringByAppendingPathComponent: 
                      [NSString stringWithString: @"test.png"] ];
    NSData* data = UIImagePNGRepresentation(image);
    [data writeToFile:path atomically:YES];
    [picker dismissModalViewControllerAnimated:YES];
}

私の質問は、名前を test.png として指定したことがわかりますが、実際の画像の名前を設定したいということです。そのため、ユーザーが異なる画像と異なる名前を選択するたびに保存されます

パスに画像の実際の名前を設定するにはどうすればよいですか

どうぞよろしくお願いします:)

4

3 に答える 3

1

以下の 2 行を使用してイメージ名を取得できます。

NSURL *imagePath = [info objectForKey:@"UIImagePickerControllerReferenceURL"];

NSString *imageName = [imagePath lastPathComponent];
于 2013-03-28T06:29:34.317 に答える
1

次のコードを使用して、画像を保存するたびに新しい名前を取得できます

NSError *error = nil;

ドキュメント ディレクトリ パスを取得する

NSArray *paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES);

コンテンツ ディレクトリを取得し、その場所にあるすべてのファイルを取得します

NSArray *contents = [[NSFileManager defaultManager] contentsOfDirectoryAtPath:[paths objectAtIndex:0] error:&error];

リソース数のカウントを取得し、現在のカウントに 1 を加えて新しいファイル名を作成します

NSString *newFileName = [NSString stringWithFormat:@"Test_%d.png",[contents count]+1];
于 2013-03-28T06:30:17.597 に答える
0
- (void)imagePickerController:(UIImagePickerController *)picker didFinishPickingMediaWithInfo:(NSDictionary *)info
{

   NSURL *imagePath = [info objectForKey:@"UIImagePickerControllerReferenceURL"];

 NSString *originalImg = [imagePath lastPathComponent];

}
于 2013-03-28T06:29:56.423 に答える