ios - 如何获取 PHAsset 的文件大小?
<p><p>假设有一个 <strong>PHAsset</strong> 表示图像。如何获取图片的文件大小?</p>
<p>我看到的唯一方法是使用 <code>valueForKey:</code> 和私有(private) <code>ALAssetURL</code> 键,并检索 <code>ALAssetRepresentation</code> 的大小,但苹果可以拒绝这样的应用程序.</p></p>
<br><hr><h1><strong>Best Answer-推荐答案</ strong></h1><br>
<p><p><strong>Swift 4/5 解决方案</strong></p>
<p><strong>扩展</strong></p>
<pre><code>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
}
}
}
</code></pre>
<p><strong>功能</strong></p>
<pre><code>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
}
</code></pre></p>
<p style="font-size: 20px;">关于ios - 如何获取 PHAsset 的文件大小?,我们在Stack Overflow上找到一个类似的问题:
<a href="https://stackoverflow.com/questions/33821118/" rel="noreferrer noopener nofollow" style="color: red;">
https://stackoverflow.com/questions/33821118/
</a>
</p>
页:
[1]