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

3

我正在创建一款应用程序,其中我通过库获取照片或添加图片,并将相同的图片保存在服务器上。

以下是我的代码:

#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];
}
1个回答

2

从btnImage中构建NSData内存...

NSData *data = UIImagePNGRepresentation(btnImage);

然后将其作为您的帖子数据。您还可以编写该数据并稍后上传...
[data writeToFile:@"any_file_you_want_int_temp_dir" atomically:YES];

没错 - 那样行不通。你需要创建一个 NSURLConnection 来进行网络请求。那种方式只会在本地写入文件。请参考 http://zcentric.com/2008/08/29/post-a-uiimage-to-the-web/ 进行上传(但要注意最后一步,那位博主建议使用同步上传,而有更好的异步方法)。 - danh
请参考此处以在本地编写代码:https://dev59.com/A3I_5IYBdhLWcg3wAeLl。NS缓存目录可能是更好的选择,除非图像是用户生成的(需要iCloud备份)。 - danh

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接