我正在使用non-httpOnly来允许用户选择多个图片。我想将图片上传到Firebase,并根据他们的TLPhotoPicker,我需要检索图片的路径。
@Eridana回答documentation,如下:
PHImageManager.default().requestImageData(for: selectedAssets[0].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)
} else {
}
})
在设备(file:///var/mobile/Media/DCIM/100APPLE/IMG_0005.PNG
)中工作并打印本地图像的路径,但是当我选择存储在iCloud中的图像时,我会在控制台上打印以下错误:
2017-11-04 18:17:44.423826 + 0400 tourPlacesApp [242:8831] [Generic] 无法加载资产的图像数据 C2717B20-5180-4CE8-AFEB-D661C259D227 / L0 / 001 mediaType = 1/0, sourceType = 1,(2448x3264),creationDate = 2017-07-02 06:46:00 +0000, location = 1,hidden = 0,favorite = 0,格式为9999
当我在网上看时,我发现我必须首先将图像的元数据存储在本地文件中,然后我才能获得图像路径。
如何从存储为PHAsset
的图像中获取元数据修改
它在here中说我需要下载图像,如果它在iCloud中,但我找不到它们解释如何下载图像的位置。
答案 0 :(得分:0)
解决方法是,在TLPhotosPickerViewController.swift
班级中首先搜索cloud
,然后取消注释与cloud
相关的所有方法和变量,特别是requestCloudDownload(asset: asset, indexPath: indexPath)
方法