SwiftUI - 将存储中图像文件的路径移动到 Firebase 上的实时数据库 [重复]
Posted
技术标签:
【中文标题】SwiftUI - 将存储中图像文件的路径移动到 Firebase 上的实时数据库 [重复]【英文标题】:SwiftUI - Move path of image file in Storage to Realtime database on Firebase [duplicate] 【发布时间】:2021-11-28 21:26:53 【问题描述】:我已成功将 imgae 文件添加到 Storage,但我不知道如何将 Storage 中的路径文件图像移动到实时数据库,以便可以在 UI 上显示。
在我的实时数据库中有一个字段包含图像的路径
我想将存储中的路径 p4.jpg 移动到实时数据库中的图像字段
func 更新图片到存储
func uploadImageToStorage(image: UIImage)
if let imageData = image.jpegData(compressionQuality: 1)
let storage = Storage.storage()
storage.reference().child("").putData(imageData, metadata: nil) ( _, error) in
if let error = error
print("an error has occured - \(error.localizedDescription)")
else
print("image uploaded successfully")
else
print("Coldn't unwrap/case imgae to data")
let imageURL = UIImage(named:"")
Button(action:
profileViewModel.uploadImageToFirebse(image: imgaeURL )
)
Text("Upload Image")
【问题讨论】:
该文档包含在实时数据库中存储值的说明。您是否尝试过那里列出的策略? firebase.google.com/docs/database/ios/read-and-write 我看了,但我认为这与我的问题无关 您已将标签和标题改回包含 SwiftUI。 SwiftUI 根本与这个问题无关——SwiftUI 是一个在屏幕上显示 UI 元素的框架。您没有包含任何 SwiftUI 代码。这是一个“Swift”问题。 您已阅读有关向实时数据库添加信息的文档,但您认为这与您的问题无关?您想将路径存储在实时数据库中不是您的问题吗?在那种情况下,我一定是误解了这个问题。除了存储路径之外,您能否详细说明您正在尝试做什么? 我正在使用 swiftUI,而不是 swift。我已经更新了上面的代码。请不要编辑我的问题 【参考方案1】:在您的情况下,您需要两个功能:将图像上传到存储,然后将 url 上传到数据库。
func uploadImageToStorage(image: UIImage)
if let imageData = image.jpegData(compressionQuality: 1)
let storage = Storage.storage()
let photoRef = storage.reference().child("avatar/filename.jpg")
photoRef.putData(imageData, metadata: nil) ( _, error) in
if let error = error
print("an error has occured - \(error.localizedDescription)")
else
photoRef.downloadURL url, err in
if let url = url
// call function to add this url to database
else
// you might want to delete the image from storage
print("could not get download url")
print("image uploaded successfully")
else
print("Coldn't unwrap/case imgae to data")
【讨论】:
以上是关于SwiftUI - 将存储中图像文件的路径移动到 Firebase 上的实时数据库 [重复]的主要内容,如果未能解决你的问题,请参考以下文章