我正在尝试通过UIImagePicker获取图像的大小
这是代码:
func imagePickerController(_ picker: UIImagePickerController, didFinishPickingMediaWithInfo info: [String : Any]) {
let image = info[UIImagePickerControllerOriginalImage] as! UIImage
var imgData: NSData = NSData(data: UIImageJPEGRepresentation((image), 1)!)
var imageSize: Int = imgData.length
print("size of image in KB: %f ", Double(imageSize) / 1024.0)
}
这会引发错误:
来自调试器的消息:由于内存问题而终止。
注意:磁盘上的映像文件大小约为75 MB。它适用于较小尺寸的图像。
答案 0 :(得分:0)
您可以使用FileManager
检查文件大小(和其他属性)。要获取所选图像的URL,请使用UIImagePickerControllerOriginalImage
键。它为您提供文件的URL,您可以将其传递给FileManager,如下所示:
if let imgURL : URL = info[UIImagePickerControllerOriginalImage] as? URL,
let attribs = try? FileManager.default.attributesOfItem(atPath: imgURL.path) {
let size = attribs[FileAttributeKey.size]
print(size)
}