添加多个自定义元数据 Firebase 存储 swift
Add several custom metadata Firebase Storage swift
我正尝试在 Swift
上将多个自定义元数据设置到 Firebase 存储
我的代码如下:
let metadata = StorageMetadata()
metadata.contentType = "image/jpg"
metadata.customMetadata = ["lightVibrantColor" : "0"]
metadata.customMetadata = ["imageWidth" : "\(updatedProfileImage.size.width)"]
metadata.customMetadata = ["imageHeight" : "\(updatedProfileImage.size.height)"]
metadata.customMetadata = ["darkMutedColor" : "0"]
但是,只会发送最后一个自定义元数据。我知道,因为当我为另一个更改最后一个自定义元数据时,就是要发送的那个。
如何添加多个自定义元数据以便将其发送到 Firestore?
从docs开始,自定义元数据可以设置为
let metadata = [
"customMetadata": [
"location": "Yosemite, CA, USA",
"activity": "Hiking"
]
]
与其一次又一次地替换元数据的值,不如使用字典。
您似乎覆盖了该值。您需要将代码更改为:
let metadata = StorageMetadata()
metadata.contentType = "image/jpg"
metadata.customMetadata = ["lightVibrantColor" : "0",
"imageWidth" : "\(updatedProfileImage.size)",
"imageHeight" : "\(updatedProfileImage.size.height)",
"darkMutedColor" : "0"]
首先,您必须创建元数据的实例...然后,您将值添加到可变 属性 "customMetadata"。之后,将该元数据连接到您上传的值(在本例中为图像)。
let metadata = StorageMetadata()
metadata.customMetadata = ["key" : "value", "key" : "value"]
let uploadTask = childImage.putData(data, metadata: metadata){metadata, error in
guard let metadata = metadata else {
if error != nil {
print("Error")
}
return
}
}
然后您可以访问您的元数据并使用它。
我正尝试在 Swift
上将多个自定义元数据设置到 Firebase 存储我的代码如下:
let metadata = StorageMetadata()
metadata.contentType = "image/jpg"
metadata.customMetadata = ["lightVibrantColor" : "0"]
metadata.customMetadata = ["imageWidth" : "\(updatedProfileImage.size.width)"]
metadata.customMetadata = ["imageHeight" : "\(updatedProfileImage.size.height)"]
metadata.customMetadata = ["darkMutedColor" : "0"]
但是,只会发送最后一个自定义元数据。我知道,因为当我为另一个更改最后一个自定义元数据时,就是要发送的那个。
如何添加多个自定义元数据以便将其发送到 Firestore?
从docs开始,自定义元数据可以设置为
let metadata = [
"customMetadata": [
"location": "Yosemite, CA, USA",
"activity": "Hiking"
]
]
与其一次又一次地替换元数据的值,不如使用字典。
您似乎覆盖了该值。您需要将代码更改为:
let metadata = StorageMetadata()
metadata.contentType = "image/jpg"
metadata.customMetadata = ["lightVibrantColor" : "0",
"imageWidth" : "\(updatedProfileImage.size)",
"imageHeight" : "\(updatedProfileImage.size.height)",
"darkMutedColor" : "0"]
首先,您必须创建元数据的实例...然后,您将值添加到可变 属性 "customMetadata"。之后,将该元数据连接到您上传的值(在本例中为图像)。
let metadata = StorageMetadata()
metadata.customMetadata = ["key" : "value", "key" : "value"]
let uploadTask = childImage.putData(data, metadata: metadata){metadata, error in
guard let metadata = metadata else {
if error != nil {
print("Error")
}
return
}
}
然后您可以访问您的元数据并使用它。