如何使用UIImagePickerController检索图像文件名?

时间:2016-06-13 13:57:34

标签: ios objective-c uiimagepickercontroller

我想知道如何使用UIImagePickerController检索使用相机拍摄的图像的文件名。

我不需要对它做任何事情,我只需要显示文件名,就像你在发送电子邮件时附加文件时会看到的那样。

到目前为止,我正在使用AssetsLibrary:

-(void)imagePickerController:(UIImagePickerController *)picker didFinishPickingMediaWithInfo:(NSDictionary *)info{

    [picker dismissViewControllerAnimated:YES completion:nil];

    NSURL *refURL = [info valueForKey:UIImagePickerControllerReferenceURL];

    // define the block to call when we get the asset based on the url (below)
    ALAssetsLibraryAssetForURLResultBlock resultblock = ^(ALAsset *imageAsset)
    {
        ALAssetRepresentation *imageRep = [imageAsset defaultRepresentation];
        NSLog(@"[imageRep filename] : %@", [imageRep filename]);
        self.photoNameLabel.text = [imageRep filename];
    };

    // get the asset library and fetch the asset based on the ref url (pass in block above)
    ALAssetsLibrary* assetslibrary = [[ALAssetsLibrary alloc] init];
    [assetslibrary assetForURL:refURL resultBlock:resultblock failureBlock:nil];


    self.photoLoaded = info[UIImagePickerControllerEditedImage];
    [self viewWillLayoutSubviews];
}

但如果imageAsset来自设备相机,nil将始终为$stmt = $db->prepare('INSERT INTO members (username,password) VALUES (:username, password)'); ,如果不是,则该图像名为IMG_00XX.jpg,即使我以前从互联网上下载过,也是如此名。

我可以在ios环境中获取图片的名称吗?如果是这样,我该怎么做?

1 个答案:

答案 0 :(得分:1)

使用相机拍照时没有名字。所有内容都是内存中的UIImage实例。它与文件无关。

如果您希望将此相机图像作为附件添加到电子邮件中,请为其提供您想要的任何名称,例如" photo.jpg"或" picture.jpg"或者你想要使用的任何其他东西。