无法使用Node.js在Firebase云存储中保存CustomMetadata

Ada*_*itz 4 metadata node.js google-cloud-storage firebase firebase-storage

结果

在以下代码中,类似于使用示例图像转换,根据使用云功能扩展云存储文档,使用Node.jsmp3文件成功上传到Cloud Function中的Firebase 中。当MP3文件中的火力地堡控制台中选择或通过流媒体在Android ExoPlayer 小青预期。但是,元数据在Firebase的控制台中未显示为已上传。

预期

根据“ 自定义元数据”文档CustomMetadata,要与mp3文件一起上传的对象。用例是上载带有mp3图像URL 的元数据标签,以便供Android上的ExoPlayer使用。APIC ID3

Firebase控制台

在此处输入图片说明

设定

注意:为简洁起见,这是完整代码的一部分。

元数据locationactivity 来自文档示例,以测试上载自定义元数据是否有效。

...
.then(() => {
    if (exists === false) {
      return bucket.upload(tempAudioFile, { 
        destination: audioFilePath,  
        metadata: {
          contentType: 'audio/mpeg',
          customMetadata: {
            'location': 'Yosemite, CA, USA',
            'activity': 'Hiking'
          }
        }
      })
    } else {
      throw new Error("Audiocast exists.") 
    }
  })
...
Run Code Online (Sandbox Code Playgroud)

Ben*_*nos 6

自定义元数据的Cloud函数语法与前端库不同。而是customMetadata使用密钥metadata。在您的情况下:

metadata: {
    contentType: 'audio/mpeg',
    metadata: {
        'location': 'Yosemite, CA, USA',
        'activity': 'Hiking'
    }
}
Run Code Online (Sandbox Code Playgroud)

  • 我想知道为什么他们会做这样一件几乎肯定会浪费每个人大量时间的事情。人们会认为不同 API 之间的事物应该更加一致。 (2认同)