我想知道如何使用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环境中获取图片的名称吗?如果是这样,我该怎么做?
答案 0 :(得分:1)
使用相机拍照时没有名字。所有内容都是内存中的UIImage
实例。它与文件无关。
如果您希望将此相机图像作为附件添加到电子邮件中,请为其提供您想要的任何名称,例如" photo.jpg"或" picture.jpg"或者你想要使用的任何其他东西。