从Swift中的UIImage属性获取图像文件大小以验证图像大小



如何从swift中的uiimage属性获取文件大小?

我的目的是验证用户上传的图像。如果它高于某些字节或大小,则我将其删除,否则允许用户上传文件!

预先感谢!

您无法从UIImage获得文件大小,可以从上传图像存储的路径

获得
let filePath = "uploaded image url"
var fileSize : UInt64
do {
  let attr = try FileManager.default.attributesOfItem(atPath: (filePath?.path)!)
  fileSize = attr[FileAttributeKey.size] as! UInt64
  print(fileSize)
  let fileSizeWithUnit = ByteCountFormatter.string(fromByteCount: Int64(fileSize), countStyle: .file)
  print("File Size: (fileSizeWithUnit)")
} catch {
  print("Error: (error)")
}

将其作为答案,因为您有一个后续问题。由于这是不良的UX,您的问题是如何在iOS中压缩UIImage,因此答案是您可以使用UIImageJPEGRepresentation。并设置此参数:

compressionquality

由此产生的JPEG图像的质量,以0.0的值表示 至1.0。值0.0表示最大压缩(或最低压缩 质量),而值1.0表示压缩最少(或最佳 质量)。

您可能会在您的应用中具有裁剪功能。

doc:https://developer.apple.com/documentation/uikit/1624115-uiimagejpegreprementation

最新更新