【发布时间】:2019-10-16 13:07:34
【问题描述】:
我正在构建(研究目的)一个类似于 Snapchat 的解决方案。这个想法是将图片发送给可以打开它的另一个人。信息被保存到 Firebase-Realtime-Database 中,一旦被接收者点击,就会显示该图像。
我正在使用 Xcode 11.2、Swift4、IOS13、macOS Catalina、SDWebImage (5.2.3)
override func viewDidLoad() {
super.viewDidLoad()
details.text = snap.description
let url = URL(fileURLWithPath: snap.urlImage)
print("URL 1 \(url) - end")
print("URL 2 \(snap.urlImage) - end")
imagem.sd_setImage(with: url) { (image, error, cache, url) in
print("Message 1")
}
}
保存到 Firebase 的 URL 可以正常工作(我可以复制/粘贴到我的浏览器并下载图片)。
下面是上面代码的结果: print("URL 1 (url) - end") 结果 https://firebasestorage.googleapis.com/v0/b/snapchat-xxxxx.appspot.com/o/images%252FBA5008FB-7D2E-4091-B995-E37879EAB1A2.jpg%3Falt=media&token=72146333-fe8e-4add-be52-1caf037cd1d6 -- 文件:/// - 结束
print("URL 2 (snap.urlImage) - end") https://firebasestorage.googleapis.com/v0/b/snapchat-xxxxx.appspot.com/o/images%2FBA5008FB-7D2E-4091-B995-E37879EAB1A2.jpg?alt=media&token=72146333-fe8e-4add-be52-1caf037cd1d6 - 结束
如您所见,在使用 URL(fileURLWithPath: snap.urlImage) 之后,在“url”常量的末尾添加了一个“--file:///”。
如果我在 sd_setImage 行中用 snap.urlImage 替换 url,它就不起作用 (imagem.sd_setImage(with: snap.urlImage)...)
有人知道发生了什么吗?
谢谢
【问题讨论】:
-
fileURLWithPath,这是机器中的一条路径(我猜你的设备是 iPhone)。就像在您的 Mac 中一样:~/Documents。你想要的是URL(string: snap.urlImage)。 "" -- file:///" 添加到末尾",但是如果您使用url.absoluteString它是在开头,这就是url的打印方式。 -
感谢 Larme... 成功了
标签: swift firebase firebase-storage