Rya*_*ton 7 image photolibrary swift phasset
有没有办法在PHAsset没有做的情况下将文件大小放在磁盘上requestImageDataForAsset或将其转换为ALAsset?我正在加载用户照片库的预览 - 可能有数千个 - 并且我的应用程序必须知道他们在导入之前知道大小.
Rya*_*ton 15
您可以获取fileSizePHAsset并将其转换为人类可读的形式,如下所示:
let resources = PHAssetResource.assetResources(for: yourAsset) // your PHAsset
var sizeOnDisk: Int64? = 0
if let resource = resources.first {
let unsignedInt64 = resource.value(forKey: "fileSize") as? CLong
sizeOnDisk = Int64(bitPattern: UInt64(unsignedInt64!))
}
Run Code Online (Sandbox Code Playgroud)
然后使用你的sizeOnDisk变量并将其传递给这样的方法......
func converByteToHumanReadable(_ bytes:Int64) -> String {
let formatter:ByteCountFormatter = ByteCountFormatter()
formatter.countStyle = .binary
return formatter.string(fromByteCount: Int64(bytes))
}
Run Code Online (Sandbox Code Playgroud)