以下代码对从图库中挑选的图像非常适用。但如果使用相机拍摄将无法使用。我试图将图像保存到存储器并再次阅读,但我无法做到这一点。那么,任何人都可以帮助我?谢谢。如何从使用相机拍摄的UIImagePickerController中获取图像名称
func imagePickerController(picker: UIImagePickerController, didFinishPickingMediaWithInfo info: [String : AnyObject]) {
if let referenceUrl = info[UIImagePickerControllerReferenceURL] as? NSURL, image = info[UIImagePickerControllerOriginalImage] as? UIImage {
let phAsset = PHAsset.fetchAssetsWithALAssetURLs([referenceUrl], options: nil).lastObject as! PHAsset
PHImageManager.defaultManager().requestImageDataForAsset(phAsset, options: PHImageRequestOptions(), resultHandler: { (imagedata, dataUTI, orientation, info) in
if info!.keys.contains(NSString(string: "PHImageFileURLKey")) {
let path = info![NSString(string: "PHImageFileURLKey")] as! NSURL
print("path q\(path)")
self.mImageUrl = path
self.mlocalPath = path.path
self.mImageExtension = path.pathExtension
self.mImageName = path.lastPathComponent!
print("mImageName q\(self.mImageName)")
}
})
}
dismissViewControllerAnimated(true, completion: nil)
}
不使用图像选择器。使用具有更好能力的照片框架。 – Satyam
@Satyam它仍然可以使用图像选择器,然后使用'fetchAssets(withALAssetURLs:options:)'获取'PHAsset'。 –
@LeoNatan,我同意你的意见。我说照片框架更好用 – Satyam