菜鸟教程小白 发表于 2022-12-13 11:48:08

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: &#34;fileSize&#34;) as! Float
            let imageSizeMB = imageSizeByte / (1024.0*1024.0)
            return imageSizeMB
      }
    }
}
</code></pre>

<p><strong>功能</strong></p>

<pre><code>func getImageFileSize(from asset: PHAsset) -&gt; Float{
    let resource = PHAssetResource.assetResources(for: asset)
    let imageSizeByte = resource.first?.value(forKey: &#34;fileSize&#34;) 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]
查看完整版本: ios - 如何获取 PHAsset 的文件大小?