如何从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