uiimagePickerController iPhone

时间:2013-02-07 06:02:55

标签: ios objective-c xcode uiimagepickercontroller

我的应用程序功能从相机胶卷中挑选图像,同时单击一个新图像,然后上传。 当我从相机胶卷中选择一个现有的图像时,它给我一个像asset.jpg这样的图像名称(这就是我想要的),但是当我点击我的新图像时,它会返回一个内存位置而不是图像的名称(例如资产) .JPG)。要获得名称为asset.jpg,我必须首先使用

将图像存储到相机胶卷
if (picker.sourceType == UIImagePickerControllerSourceTypeCamera)
        {
            UIImageWriteToSavedPhotosAlbum(image, self, @selector(image:didFinishSavingWithError:contextInfo:), nil);
            //UIImageWriteToSavedPhotosAlbum(image, nil, nil, nil);
            [self.imageView setImage:nil];
        }

我不想。无论如何,我可以将图像名称作为asset.jpg获取新点击的图像,而无需先将图像保存到相机胶卷。提前谢谢。

修改

UIImagePickerControllerReferenceURL在从相机胶卷中拾取现有图像但为新点击的图像返回临时存储位置时提供URL

1 个答案:

答案 0 :(得分:0)

保存照片时会提供资产名称,因此您需要这样做。我使用以下代码来保存图像并获取其路径。

   ALAssetsLibrary* library = [[ALAssetsLibrary alloc] init];
        // Request to save the image to camera roll
    [library writeImageToSavedPhotosAlbum:[image CGImage] orientation:(ALAssetOrientation)[image imageOrientation]completionBlock:^(NSURL *assetClickedURL, NSError *error){
        if (error) {
            NSLog(@"error saving image %@", [error localizedDescription]);
        } else
        {

            NSLog(@"image from camera saved at  %@", assetClickedURL);
            [self uploadImageAtassetURL:assetClickedURL];
        }
    }];