在我的应用程序中,我必须使用标准的iOS UIImagePickerController库将多张照片存储并上传到服务器。目前,我在存储存储UIImagePickerControllerReferenceURL的照片库的工作:从ImagePicker(iOS)存储和上传多个图像的最佳实践
func imagePickerController(_ picker: UIImagePickerController, didFinishPickingMediaWithInfo info: [String : Any]) {
if let assetURL = info["UIImagePickerControllerReferenceURL"] as? URL {
assetArray.append(assetURL) //assetArray globally stored as 'fileprivate var assetArray = [URL]()'
}
}
不过,我只是读的地方,相机不提供“UIImagePickerControllerReferenceURL”键。因此,这种方法可能无法正常工作,所以我现在正在重新思考我的逻辑。
我使用KingFisher,所以我目前正在研究,看看您是否可以使用该框架缓存图像,但我不确定。我还在阅读,我可以使用照片的API来抓取相机图像的URL,我将在下面尝试。如果可以,我会抓取相机拍摄的照片的网址,并将其附加到assetArray。
如果这是一个单一的照片上传,这将是相对简单的,但由于我不想通过存储大型数据/图像数组阻碍应用程序的性能,这项任务已变得复杂。
它是最好继续我在做什么:
1)抓取URL我要上传每个图像的,并把它们存储到一个URL数组。在上传到服务器之前,抓取每个URL的.png格式的数据,并上传图像到服务器
2)缓存某处的实际图像,因此当上传到服务器时,图像已经存在(不需要转换从URL - >图像)。如果没有正确完成,问题在于许多图片可能会妨碍应用程序的性能。
或
3)的一些其他方法
任何帮助,将不胜感激。谢谢!