3

我正在创建应用程序,我正在拍照或通过 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 上保存图像,因为根据这个问题的答案,如果我想在服务器上保存图像,我需要文件名。

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

1 回答 1

2

从 btnImage 在内存中构建 NSData...

NSData *data = UIImagePNGRepresentation(btnImage);

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

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

[data writeToFile:@"any_file_you_want_int_temp_dir" atomically:YES];
于 2013-03-06T15:23:33.720 回答