iOS 获取本地图片URL

文件目录内图片URL

let path = Bundle.main.path(forResource: 图片名字, ofType: 文件类型)
let url =  URL(fileURLWithPath: path)

assets中的图片

没有找到直接获取url的方法, 但是可以通过先写如到本地,创建一个本地URL的方式。

extension URL {
    /// 获取本地图片(asset)中的URL
    static func fromLocalImage(named name: String) -> URL? {
        
        let fileManager = FileManager.default
        let cacheDirectory = fileManager.urls(for: .cachesDirectory, in: .userDomainMask)[0]
        let url = cacheDirectory.appendingPathComponent("\(name).png")
        let path = url.path
        
        guard fileManager.fileExists(atPath: path) else {
            guard
                let image = UIImage(named: name),
                let data = image.pngData()
                else { return nil }
            /// 通过写入图片数据实现 路径url
            fileManager.createFile(atPath: path, contents: data, attributes: nil)
            return url
        }
        return url
    }
}

按道理,只要图片资源存在,就可以通过图片数据创造除URL

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章