如何从 PHPhotoLibrary 获取图像的位置?
Posted
技术标签:
【中文标题】如何从 PHPhotoLibrary 获取图像的位置?【英文标题】:How to get location of Image from PHPhotoLibrary? 【发布时间】:2017-12-04 13:17:39 【问题描述】:由于不推荐使用 ALAssetLibrary Api,我们使用 phphotoLibrary 将图像保存到 PhotoAlbum
如果我们使用 ALAssetLibrary,我们可以获得保存图像的assetUri,但如果我们使用 PHPhotoLibrary,我们无法获得相同的结果。
assetUri 示例-
/Library/Developer/CoreSimulator/Devices/1ABD9386-B868-4B8D-9670-3F260D574569/data/Media/DCIM/100APPLE/
还有其他方法可以使用 PHPhotoLibrary 获得与上述相同的路径吗?
提前致谢
【问题讨论】:
【参考方案1】:AssetUri 不适用于 PHPhotoLibrary。
我们可以改用request.PlaceholderForCreatedAsset.LocalIdentifier
。
UIImagePickerController controller = new UIImagePickerController
SourceType = UIImagePickerControllerSourceType.SavedPhotosAlbum,
ImagePickerControllerDelegate = new PickerDelegate(),
MediaTypes = new string[] UTType.Image
;
this.PresentViewController(controller, true, null);
public class PickerDelegate: UIImagePickerControllerDelegate
public override void FinishedPickingImage(UIImagePickerController picker, UIImage image, NSDictionary editingInfo)
PHPhotoLibrary.SharedPhotoLibrary.PerformChanges(
() =>
PHAssetChangeRequest request = PHAssetChangeRequest.FromImage(image);
string id = request.PlaceholderForCreatedAsset.LocalIdentifier;
,
(bool success, NSError error) =>
);
参考
How to get the URL of an image just added in PHPhotoLibrary
Get URL of a newly created asset, ios 9 style
【讨论】:
以上是关于如何从 PHPhotoLibrary 获取图像的位置?的主要内容,如果未能解决你的问题,请参考以下文章
使用 PHPhotoLibrary 从相机胶卷中获取相机点击的照片
从自定义相册 PHPhotoLibrary 目标 C 中删除图像
在 PHPhotoLibrary 中,photoLibraryDidChange 不会通知所有更新