ファイルをアップロードするとき、あなたはファイルをアップロードしましたが、コンテンツタイプやエンコーディングなどの通常のメタデータをすべて指定するためにStorageMetadata
オブジェクトを作成することもできます。customMetadata
という項目もあります。だから、あなたがそこにuserUIDを追加したい場合は、このようにそれを行うことができます:
let myMetadata = StorageMetadata()
myMetadata.customMetadata = ["userUID" : "abc123"]
あなたは、このメタデータオブジェクトを持っていたら、あなたのファイルのメタデータを更新するために、ストレージの参照を使用することができます。あなたは、あなたができるファイルのメタデータに添付userUIDを知る必要がある場合、後で
let fileReference = storageReference.child("files/userThumnail.jpg")
fileReference.putData(imageData, metadata: myMetadata) { (metadata, error) in
//Handle error, etc.
}
:
let fileReference = storageReference.child("files/userImage.jpg")
fileReference.updateMetadata(metadata) { (metadata, error) in
//Check to see if you need to handle an error, etc.
}
また、あなたは、ファイルをアップロードするときにこれを行うことができますそのようにアクセスしてください:
let fileReference = storageReference.child("files/userImage.jpg")
fileReference.getMetadata { (metadata, error) in
if let data = metadata, let userUID = data.customMetadata["userUID"] as? String {
//Got it. Do whatever you need with it.
print(userUID)
}
}
私はそれが欲しいものです!私はそれを実装しようとします。あなたの指導に感謝します。 – misi06
もう1つ質問があります。特定のURLのメタデータにアクセスする方法はありますか? – misi06
'let fileReference = Storage.storage()。reference(forURL:" your_url ")'でファイルへの参照を取得できます。それから、 'fileReference.getMetadata ... 'とこれまでと同じです。 – creeperspeak