假设有一个代表图像的PHAsset。如何获取图片的文件大小?
我看到的唯一方法是将 valueForKey:
与私有(private) ALAssetURL
key 一起使用,并检索 ALAssetRepresentation
的大小,但苹果可以拒绝此类应用.
最佳答案
Swift 4/5 解决方案
扩展
extension PHAsset {
var fileSize: Float {
get {
let resource = PHAssetResource.assetResources(for: self)
let imageSizeByte = resource.first?.value(forKey: "fileSize") as! Float
let imageSizeMB = imageSizeByte / (1024.0*1024.0)
return imageSizeMB
}
}
}
函数
func getImageFileSize(from asset: PHAsset) -> Float{
let resource = PHAssetResource.assetResources(for: asset)
let imageSizeByte = resource.first?.value(forKey: "fileSize") as! Float
let imageSizeMB = imageSizeByte / (1024.0*1024.0)
return imageSizeMB
}
关于ios - 如何获取 PHAsset 的文件大小?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33821118/