gpt4 book ai didi

ios - Swift 从数据(字节数组)创建 URL 对象而不写入磁盘

转载 作者:行者123 更新时间:2023-12-05 06:28:09 32 4
gpt4 key购买 nike

如何在不将字节写入磁盘的情况下从数据(字节数组)创建 Swift URL 对象?

背景:

我需要使用文件查看器(例如 QuickLook)来查看我的 iOS (Swift) 应用程序中的安全文件,但我不想将文件写入磁盘。我知道 Apple 会进行磁盘加密,但这不是我们的选择。有什么方法可以使用文件查看器(例如 QuickLook)处理纯内存中的文件?

最佳答案

有一种使用 URI 方案(data:MIME;base64)的方法:
(此代码示例中没有安全性,强制展开等)。

let data = //... get image data
let base64String = data!.base64EncodedString()

let imgURIPath = "data:application/octet-stream;base64,\(base64String)"

// More clear with format?
//let imgURIPath = String(format: "data:application/octet-stream;base64,%@", base64String)


// We need a dummy base URL since URL(string:) is validating the URL
// and will return nil if there's no valid base
let baseURL = URL(string: "https://www.dummyURL.com")!

let uri = URL(string: imgURIPath, relativeTo: baseURL)!

// Test
let imageFromURI = try? UIImage(contentsOf: uri)

关于ios - Swift 从数据(字节数组)创建 URL 对象而不写入磁盘,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54641548/

32 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com