使用UIImageWriteToSavedPhotosAlbum保存图像时的文件名是什么

时间:2013-03-06 15:08:02

标签: objective-c image ios6 uiimage

我正在创建应用程序,我正在拍摄照片或通过lib添加并在服务器上保存相同的图像。

以下是我的内容

#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上保存图像,因为根据this question answer,如果我想在服务器上保存图像,我需要文件名。

因此,我想知道在使用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];
}

1 个答案:

答案 0 :(得分:2)

从btnImage ...

在内存中构建NSData
NSData *data = UIImagePNGRepresentation(btnImage);

然后将您的帖子数据设为。

您也可以编写该数据并稍后上传...

[data writeToFile:@"any_file_you_want_int_temp_dir" atomically:YES];