【问题标题】:How to convert Data to URL()?如何将数据转换为 URL()?
【发布时间】:2019-07-07 03:30:49
【问题描述】:

我有一个从 firebase 获得的Data 形式的图像:

if let img = selectedPost.media[numberMedia + 1].image {
    let data = (img.pngData() as Data?)!//here

我需要将此值转换为 URL。我该怎么做?

我试过了:

let imageUrl = URL(dataRepresentation: data, relativeTo: "https://URL")

但是得到

无法将“字符串”类型的值转换为预期的参数类型“URL?”

【问题讨论】:

  • 您有数据形式的图像吗?所以它是一个字节?我将数据放在一列中,将 URL 链接放在另一列中,并引用 URL 列中的数据
  • 如果内存中已有图像数据,只需将其写入磁盘(文档目录或库)并使用该本地文件 URL
  • 仅供参考 - let data = (img.pngData() as Data?)! 应该只是 if let data = img.pngData() { // do something }

标签: ios swift url data-conversion


【解决方案1】:

不,你不能从数据创建一个 URL,只有当这个 url 指向一个本地存储,比如文档/库中的文件 url,所以你有

  • 远程 url -> 从中读取数据

  • 本地数据 -> 写入本地 url

  • 本地数据 -> 上传到服务器并获取引用它的远程 url

  • X本地数据->本地获取远程url不上传X>不能

也用

guard let data = img.pngData() else { return } 

而不是不安全的!

【讨论】:

  • 如果您在 Firebase 中有 url,您只能从中提取数据,并将其保存在本地文档中,如获取本地 url,上传到您需要数据的 firebase 存储并调用指向正确子节点的方法.putData 可能是您从中读取以覆盖新数据的同一子节点
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2022-01-06
  • 1970-01-01
  • 1970-01-01
  • 2010-12-15
  • 2020-05-19
  • 2016-05-09
  • 1970-01-01
相关资源
最近更新 更多