可以从 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 正确检索数据?
如何在 Swift 中保存实时 Firebase 数据库中的数据?