更新:下面的代码工作正常,因为它是自己的“test.js”文件。它仅在Firebase云功能的上下文中不起作用。
============================
我正在尝试从Firebase云功能将文件上传到Firebase存储。我正在使用
在本地测试firebase serve --only functions
下面的代码片段只是为了查看问题...我实际上是在Cloud Functions端点中调用“uploadFile”。一切看起来都很好,直到“bucket.upload(...)”行。我可以在该行之前回显选项,然后我得到一个非描述性的错误,它“以状态结束:'崩溃'”。
有什么想法吗?这对我来说似乎很简单!
const firebase = require('firebase-admin');
var serviceAccount = require("./certs/key-name.json");
firebase.initializeApp({
credential: firebase.credential.cert(serviceAccount),
databaseURL: "https://my-app.firebaseio.com",
storageBucket: "my-app.appspot.com"
});
var storage = firebase.storage();
var metadata = {
id: '1234'
};
uploadFile('myFile.pdf', metadata);
function uploadFile(file, metadata) {
var bucket = storage.bucket();
var options = {
destination: file,
resumable: false,
metadata: {
metadata: metadata
}
};
bucket.upload(file, options, function(err, remoteFile) {
if (!err) {
console.log("Uploaded!");
} else {
console.log(err);
}
});
}