可以从 Swift 中的 firebase 在浏览器中看到的图像的 URL

Posted

技术标签:

【中文标题】可以从 Swift 中的 firebase 在浏览器中看到的图像的 URL【英文标题】:URL of an image that can seen in browser from firebase in Swift 【发布时间】:2016-09-14 00:00:31 【问题描述】:

我正在创建一个使用 SDK 的 ios swift 应用程序,该 SDK 需要一个可以在浏览器中看到的图像链接,例如 http://i.imgur.com/HALb2yN.jpg 是可以接受的,因为它不会自动下载。

但是对于 firebase,我使用代码获得的下载 URL:

let imageRef = String(format: "images/%@", file.identifier)
let testRef = storageRef.child(imageRef)

let uploadTask = testRef.putData(imageData, metadata: nil)  metadata, error in
    if (error != nil) 
        // Uh-oh, an error occurred!
        print(error?.localizedDescription)
     else 
        // Metadata contains file metadata such as size, content-type, and download URL.
        let downloadURL = metadata!.downloadURL()!.absoluteString
        print(downloadURL)
    

downloadURL 自动下载...我希望能够从浏览器中获取可以在 中查看的链接。 firebase 可以吗?

【问题讨论】:

下载地址是图片数据的直接链接。您是否正在寻找包含图片的网页? 是的,例如 Instagram、Facebook 和 Twitter 提供了这样一个页面。我不认为 Google Drive 或 Dropbox 会这样做(不是 100% 肯定),我想将这些服务中的图像上传到 firebase 以解决问题。基本上,我使用的 SDK 需要一个包含图像且仅包含图像的网页,例如Google Drive 在其提供的 URL 中的图像周围有其界面,可以在浏览器中看到。 您是否考虑过构建一个静态网页(例如在 Firebase 托管上),然后将下载 URL 传递到该网页?例如。 https://myapp.firebaseapp.com/image.html?downloadUrl=... 【参考方案1】:

我怀疑问题在于您没有为图像设置任何元数据。因此 Firebase(和您的浏览器)不知道您的神秘二进制对象是可以在浏览器中显示的图像,而不是需要下载的其他文件。

尝试创建一个具有适当内容类型的元数据对象并在您的 putData 调用中使用它,我敢打赌这会奏效。

【讨论】:

以上是关于可以从 Swift 中的 firebase 在浏览器中看到的图像的 URL的主要内容,如果未能解决你的问题,请参考以下文章

Firebase + Swift:无法删除 tableView 中的行

如何使用 Swift 中的 url 从 firebase 正确检索数据?

从firebase检索到swift 3中的多个按钮

如何在 Swift 中保存实时 Firebase 数据库中的数据?

如何从 Firebase 数据库中的 autoID 获取价值 - Swift

Swift 3 中的 Firebase 存储图像持久性