我正在将文件上传到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/