firebase - 将自定义数据添加到Firebase存储上传中?

标签 firebase firebase-storage google-cloud-functions

我正在将文件上传到Firebase存储中,如下所示:

var storageRef = firebase.storage();
                var fileRef = storageRef.ref(file.name);
                fileRef.put(file)
                    .then(function (snapshot) {
                        console.log('Uploaded a blob or file!');
                        window.URL.revokeObjectURL(file.preview);
                    })

上传后,我有一个firebase存储触发器:
export const processUploadedFile = functions.storage.object().onChange(event => {
}

我想做的是在原始上传文件中上传一些其他信息,以便processUploadedFile知道如何处理(例如,提取文件,将其移动到特殊目录等)。

我尝试使用像这样的元数据:
        var newMetadata = {
            customMetadata: {
                "Test": "value"
            }
        }

fileRef.put(file, newMetadata)

但是在云存储触发功能上,我不知道如何获取元数据,我像这样注销了fileMetaData:
file.getMetadata().then((metaData)=>console.log(metaData))

但是在其中的任何地方(或在返回未定义的fileMetaData [0] .metadata中)都没有看到我的元数据

不确定如何实现此目标...

最佳答案

我认为提供文件元信息可以解决问题。这是引用。 Firebase Storage File metadata。您可以使用customMetadata传递文件的自定义参数。例如 :

customMetadata: {
    'actionType': 'ACTION_CODE',
    'action': 'do something info'
}

您可以使用存储触发器访问此元数据,并采取相应的措施。这是实现Automatically Extract Images Metadata的方法

关于firebase - 将自定义数据添加到Firebase存储上传中?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48047868/

相关文章:

node.js - 部署 Firebase 和 Node.js 应用程序导致错误 : Error: Parse Error in remoteconfig. template.json: Unexpected token 'i' at 1:1

java - firebase 存储的 getDownloadUrl() 为所有上传的文件返回相同且错误的链接。如何解决这个问题?

javascript - 如何在 Google Cloud Functions 中获取 HTTP 请求正文大小?

node.js - 在建立安全 TLS 连接之前客户端网络套接字断开连接 Node.js v13.0.1

ios - Firebase 通知未显示 IOS,但消息显示在控制台上

node.js - Firebase Firestore 中的异步等待问题

firebase - 如何在 Firebase 应用中获取 Cloud Storage 中所有文件的列表?

node.js - 我无法读取 Firebase Functions 上的数据

javascript - JS/Jquery 和 firebase 登录页面问题

java - 回收者 View 混合了其元素的内容