【问题标题】:Adding Metadata to Uploaded Image Firebase/Kotlin将元数据添加到上传的图像 Firebase/Kotlin
【发布时间】:2020-08-18 05:19:12
【问题描述】:

我可以通过调用上传对应的图片:

var uploadTask = firebase_ref.putStream(stream)

我想将元数据添加到上传的图像中,所以我想在 putStream 调用中执行此操作:

var uploadTask = firebase_ref.putStream(stream, metadata)

现在的问题是我可以通过这个导入来导入 StorageMetadata:

import com.google.firebase.storage.*

我可以创建一个 StorageMetadata 对象,例如:

var metadata = StorageMetadata()

我去为元数据调整一个简单的名称参数为:

metadata.name = "something" 

错误: val 无法重新分配

我看过这个参考: https://firebase.google.com/docs/storage/android/upload-files#kotlin+ktx_5

他们建议这样做:

var metadata = storageMetadata {
    contentType = "image/jpg"
}

错误: 未解析的参考存储元数据

调整简单的 StorageMetadata 并将其传递给 putStream 的最佳方法是什么?

【问题讨论】:

    标签: android firebase kotlin firebase-storage


    【解决方案1】:

    它显示的 Kotlin+KTX 示例取决于将 Cloud Storage for Firebase KTX library 添加到您的依赖项中(这就是“KTX”告诉您的内容)。完成此操作后,您将在代码中使用 storageMetadata 构建器,如文档中所示。如果您想使用它,请务必遵循此处链接的文档。您将添加一个如下所示的依赖项:

    // See maven.google.com for the latest versions
    // This library transitively includes the firebase-storage library
    implementation 'com.google.firebase:firebase-storage-ktx:$VERSION'
    

    如果您不想使用 KTX 库,可以使用 StorageMetadata.Builder 对象来处理元数据对象,如 Java 示例中所示。 StorageMetadata 对象是不可变的(请注意,该类中没有设置器),因此您不能创建一个并修改它 - 您必须使用提供的构建器构建一个。

    【讨论】:

    • 谢谢,这就是问题所在。添加:实现 'com.google.firebase:firebase-storage-ktx:19.1.1'
    猜你喜欢
    • 2022-11-11
    • 2023-03-20
    • 2012-03-02
    • 2021-09-18
    • 2019-10-18
    • 1970-01-01
    • 2019-08-18
    • 2018-08-22
    • 2017-10-19
    相关资源
    最近更新 更多